【问题标题】:How to display success message in Struts?如何在 Struts 中显示成功消息?
【发布时间】:2011-12-09 21:28:20
【问题描述】:

我们可以通过 actionErrors.add(key, new Actionmessage("string")), addErrors(request, actionErrors); 在 Struts 中显示错误。然后通过

将其输出到 JSP 页面中

我想知道,如何在 Struts 中输出成功消息?您通常/传统上是如何做到的?

【问题讨论】:

    标签: java jakarta-ee struts


    【解决方案1】:

    在 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
    

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

    【讨论】:

    • 需要注意的是,最后一个关于将消息保存到会话的示例需要 Struts 1.2.x 或更高版本。
    • 这不是所有正确的信息。只有 ActionMessages 对象在请求中存储了一个 bean。 ActionMessage 对象没有,您必须通过 ActionMessages 的属性访问它们。因此,使用 messages.add(appMessage, ...) 不会将 appMessage 添加为请求属性。它在 JSP 中将无法作为 等访问。
    【解决方案2】:

    如果您使用的是 Struts2,您应该能够使用 addActionMessage 而不是 addActionError。

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

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-21
      • 2011-08-07
      • 1970-01-01
      • 2017-12-09
      • 1970-01-01
      • 2016-11-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多