在我的Web应用程序中,我想实现一个在需要时显示信息/错误消息的系统。例如,servlet检测到一些错误(例如用户未登录),向会话添加自定义错误消息并将用户重定向到登录页面,负责显示登录页面的JSP也显示该消息。另一个例子,用户成功提交了一些表单,servlet添加了自定义成功消息,并重定向到显示成功消息的某个页面。
我的实现建议:servlet在会话中写入消息,任何页面上的特殊包含JSP都会读取它,显示它并从会话中删除它(因此它只显示一次)。我需要在会话中使用它,因为否则不会通过重定向保留该消息。
从逻辑和MVC的角度来看,可以在JSP中用消息删除变量吗?
答案 0 :(得分:0)
如果可以使用JSTL,那么它应该没什么大不了的。
<c:remove var="message" scope="session" />
请注意,一些MVC框架通过cookie(也称为“flash scope”)来解决这个问题。另见例如{4}在Java EE自己的MVC框架JSF的上下文中。