【发布时间】:2011-12-09 21:28:20
【问题描述】:
我们可以通过 actionErrors.add(key, new Actionmessage("string")), addErrors(request, actionErrors); 在 Struts 中显示错误。然后通过
将其输出到 JSP 页面中我想知道,如何在 Struts 中输出成功消息?您通常/传统上是如何做到的?
【问题讨论】:
标签: java jakarta-ee struts
我们可以通过 actionErrors.add(key, new Actionmessage("string")), addErrors(request, actionErrors); 在 Struts 中显示错误。然后通过
将其输出到 JSP 页面中我想知道,如何在 Struts 中输出成功消息?您通常/传统上是如何做到的?
【问题讨论】:
标签: java jakarta-ee struts
在 Struts 1 上,您可以使用 ActionMessage 实例来表示要在 JSP 上显示的消息
ActionMessages messages = new ActionMessages();
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message1");
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("message2");
saveMessages(request, messages); // storing messages as request attributes
“message1”和“message2”是资源属性文件的键。非常类似于 ActionError 处理
在 JSP 上显示消息类似于操作错误,但您必须包含属性“消息”
<logic:messagesPresent message="true">
<html:messages id="message" message="true">
<bean:write name="message"/><br/>
</html:messages>
</logic:messagesPresent>
在此示例中,消息被存储为属性请求。如果你想控制属性名,你可以指定任何属性名
ActionMessages messages = new ActionMessages();
messages.add("appMessage", new ActionMessage("message1");
saveMessages(request, messages); // storing messages as request attributes
现在消息存储在请求属性“appMessage”下。例如,如果您想在 JSP 上使用 JSTL 标记而不是 Struts 标记,则设置自定义属性名称可能很有用
此外,您可以在会话范围内保存操作消息。
saveMessages(request.getSession(), messages); // storing messages as request attributes
您可以使用此功能在用户会话中显示粘性消息,例如用户全名。
【讨论】:
如果您使用的是 Struts2,您应该能够使用 addActionMessage 而不是 addActionError。
您的帖子缺少您在 JSP 中添加的内容,但如果您添加操作消息,则可以使用 <s:actionmessage/> 标记来显示您添加的内容。
【讨论】: