我们可以通过执行actionErrors.add(key,new Actionmessage(“string”)),addErrors(request,actionErrors)来显示Struts中的错误。然后通过
将其输出到JSP页面我想知道,如何在Struts中输出成功消息?你通常/通常如何做到这一点?
答案 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。
您的帖子缺少您在JSP中添加的内容,但如果添加操作消息,则可以使用<s:actionmessage/>
标记来显示您添加的内容。