2017-03-20 70 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]}'。 –