我显示 ActionMessages过 JSP 文件通过以下命令:

<logic:messagesPresent message="true">
    <ul id="messsages">
        <html:messages id="msg" message="true">
            <li><bean:write name="msg"/> </li>
        </html:messages>
    </ul>
</logic:messagesPresent>

现在我想只显示选择的信息。我怎么可以表明其消息显示?

更新

实际上我有两个 ActionMessages 对象 messageswarnings.现在我要显示他们都在独立的 JSP 页面...一页显示 messages 和另一对 warnings.

因此,如何指示的 JSP 页面,信息显示?



更新-2

现在,我发现一个奇怪的事情。

saveMessages(request, messages);
saveMessages(request, warnings);

当我写了上述代码,只有 warnings 是的工作。当我反了上述两种报表,则只 messages 是的工作。

看来我们可以添加的只有一个 ActionMessages 象在请求。如果它是正确的,那么如何消息显示在两个 ActionMessages 对象分开。

有帮助吗?

解决方案

简单,

分开你的 messages 和你的 warnings:在你的支柱的行动,拯救你的消息,并警告如下:

//For messages
saveMessages(request, messages);

//For warnings
saveErrors(request, warnings);

以显示他们:

<logic:messagesPresent message="true">
    <html:messages id="aMsg" message="true">
        <logic:present name="aMsg">
            <!-- Messages -->
            <div class="messages">
                <bean:write name="aMsg" filter="false" />
            </div>
        </logic:present>
    </html:messages>
</logic:messagesPresent>

<logic:messagesPresent message="false">
    <html:messages id="aMsg" message="false">
        <logic:present name="aMsg">
            <!-- Warnings-->
            <div class="warnings">
                <bean:write name="aMsg" filter="false" />
            </div>
        </logic:present>
    </html:messages>
</logic:messagesPresent>

这显示所有 messages (通过设置 message="true")

<html:messages id="aMsg" message="true">

这显示所有 warnings (通过设置 message="false")

<html:messages id="aMsg" message="false">

更新 看到你现在是清理你的问题,最简单的方法就是做到这一点。

有一定的标志,将显示是否用户想查看 messageswarnings.在支柱行动,要求标记和检查,如果所选择的用户观看的消息或警告。然后你保存 warningsmessages 根据用户选择和显示同一页上(因为你上面写的),以显示信息。

其原因是此,支柱(当储存,你的消息或错误的)存储,它要求或届会议与下列恒定的。

  • Globals.MESSAGE_KEY(分配时你做的 saveMessages(request, messages))
  • Globals.ERROR_KEY(分配时你做的 saveErrors(request, errors))

当使用 <logic:messagesPresent message="true">, ,支柱搜索 MESSAGE_KEY (如果消息=true)或 ERROR_KEY (如果消息=false)或两者(如果消息=none)。你有没有控制。

<html:messages /> 顶级域名的意见指出:

通过默认的标签将检索 豆,它将循环从 Globals.ERROR_KEY不断串,
但是,如果这属性设定为'true' 豆将会从中检索 Globals.MESSAGE_KEY不断串。此外,如果这个是设定为'真正的'任何 值分配给该名称属性 将会被忽略。

你也可以写脚本到检查,如果那些钥匙是存在的,然后 <logic:iterate /> 通过关键显示的消息(但这将太多的工作)。

希望这会有所帮助。

其他提示

除了使用在messagemessagesPresent标签messages属性,你可以使用name属性的ActionMessages对象,你必须在页面,请求,会话或应用范围指定名称。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top