2017-03-20 2 views
1

Wie kann ich testen, ob eine bestimmte Aktionsnachricht im Kontext vorhanden ist?Struts2 - spezifische Informationsrückmeldung senden

<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> 

Ich habe dies versucht, aber ich muss nur my_error Nachricht suchen.

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

Mögliche Duplikat [Struts2 Äquivalent - actionError.get() .hasNext()] (http://stackoverflow.com/questions/42905050/struts2-equivalent-actionerror-get-hasnext) –

Antwort

1

Aktionsnachrichten sind keine Fehler, und sie enthalten eine separate Auflistung. Es könnte unabhängig vom Validierungsstatus der Aktion bedient werden.

Aktionsmeldungen, die für die Benutzerrückmeldungen besser geeignet sind, da sie den Fluss nicht beeinflussen. Auf der anderen Seite machen Aktionsfehler die Aktion ungültig.

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

+0

Aber wie können Sie überprüfen, ob ein bestimmter Aktionsfehler/Nachricht im Kontext vorhanden ist? Keine Aktion Fehler/Nachricht. – Ariana

+0

Sie können OGNL verwenden, um eine bestimmte Nachricht abzufragen, z. B. '% {actionMessages [0]}'. –