Java 在控制器之间传递表单反馈以重新显示表单错误消息时出现问题
控制器A显示一些数据并显示表单 表单提交给控制器B 当在控制器B中发现表单错误时,控制器A需要重新显示表单 为此,需要在控制器a中执行Java 在控制器之间传递表单反馈以重新显示表单错误消息时出现问题,java,jsp,spring-mvc,jstl,Java,Jsp,Spring Mvc,Jstl,控制器A显示一些数据并显示表单 表单提交给控制器B 当在控制器B中发现表单错误时,控制器A需要重新显示表单 为此,需要在控制器a中执行返回重定向“blah” 要使用重定向将错误传递回控制器A,我可以在模型中设置错误消息: model.put("errormsg", "look what happened"); 这会产生一种恼人的效果,即将错误消息的整个文本放入URL: /controllera/somemethod?errormsg=look+what+happened 然而,尽管我在URL
返回重定向“blah”
要使用重定向将错误传递回控制器A,我可以在模型中设置错误消息:
model.put("errormsg", "look what happened");
这会产生一种恼人的效果,即将错误消息的整个文本放入URL:
/controllera/somemethod?errormsg=look+what+happened
然而,尽管我在URL上看到了文本,但当我试图从JSTL显示它时,没有显示任何内容:
<c:out value="${errormsg}"/>
有没有更好的方法来解决这些问题?我建议:
req.setAttribute(“errormsg”,“看看发生了什么”)代码>
JSTL输出应该可以正常工作。将其放在JSP上:
<c:out value="${param.errormsg}" />
有没有更好的方法来解决这一切
更好的方法是使用标准方案:控制器A显示表单、提交给控制器A的数据,如果发生错误,控制器A显示错误。如果数据有效,控制器A将重定向到控制器B