一尘不染

在控制器之间传递表单反馈以重新显示表单错误消息时出现问题

jsp

控制器A显示一些数据并显示一个表格。

表格提交给控制器B。

当在控制器B中发现表格错误时,该表格需要由控制器A重新显示。

为此,需要输入return redirect "blah"A。

为了使用重定向将错误传递回控制器A,我可以在模型中设置错误消息:

model.put("errormsg", "look what happened");

这具有将错误消息的整个文本放入URL的烦人效果:

/controllera/somemethod?errormsg=look+what+happened

但是,即使我在URL上看到了文本,当我尝试从JSTL中显示该文本时,也没有显示任何内容:

<c:out value="${errormsg}"/>

是否有更好的方法来解决所有这些问题?


阅读 167

收藏
2020-06-10

共1个答案

一尘不染

是否有更好的方法来解决所有这些问题?

恕我直言,更好的方法是使用标准方案:控制器A显示表单,将数据提交给控制器A,如果发生错误,则控制器A显示错误。如果数据有效,则控制器A确实重定向到控制器B。

2020-06-10