2017-03-20 41 views
1

如何测试上下文中是否存在特定的动作消息?Struts2 - 发送特定信息反馈消息

<logic:messagesPresent message="error" property="my_error"> 
    <table> 
     <tr> 
      <td> 
      <html:messages id="error" property="my_error"> 
       <bean:write name="error"/><br> 
      </html:messages> 
      </td> 
     </tr> 
    </table> 
    </logic:messagesPresent> 

我试过了,但我只需要搜索my_error消息。

<s:if test="hasActionMessages()"> 
       <table> 
        <tr> 
         <td > 
          <s:actionmessage/> 
         </td> 
        </tr> 
       </table> 
</s:if> 
+0

可能的复制[Struts2的等效 - )actionError.get(.hasNext()](http://stackoverflow.com/questions/42905050/struts2-equivalent-actionerror-get-hasnext) –

回答

1

动作消息不是错误,它们拥有单独的集合。无论验证状态如何,都可以使用它。

动作消息更适合用户反馈,因为它不会影响流量。另一方面,操作错误会使操作失效。

<s:if test="hasActionMessages()"> 
    <table> 
     <tr> 
      <td > 
       <s:actionmessage/> 
      </td> 
     </tr> 
    </table> 
</s:if> 

+0

但是如何验证上下文中是否存在特定的操作错误/消息?没有任何操作错误/消息。 – Ariana

+0

您可以使用OGNL查询特定的消息,即'%{actionMessages [0]}'。 –