如何在Struts中显示成功消息?

时间:2009-04-02 14:19:57

标签: java java-ee struts

我们可以通过执行actionErrors.add(key,new Actionmessage(“string”)),addErrors(request,actionErrors)来显示Struts中的错误。然后通过

将其输出到JSP页面

我想知道,如何在Struts中输出成功消息?你通常/通常如何做到这一点?

2 个答案:

答案 0 :(得分:10)

在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上显示消息与操作错误类似,但您必须包含属性“message”

<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

您可以使用此功能在用户会话上显示粘性消息,例如用户全名。

答案 1 :(得分:1)

如果你正在使用Struts2,你应该可以使用addActionMessage而不是addActionError。

http://struts.apache.org/2.0.14/struts2-core/apidocs/com/opensymphony/xwork2/ValidationAwareSupport.html

您的帖子缺少您在JSP中添加的内容,但如果添加操作消息,则可以使用<s:actionmessage/>标记来显示您添加的内容。

http://struts.apache.org/2.0.14/docs/actionmessage.html