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>

person Ariana    schedule 20.03.2017    source источник
comment
Возможный дубликат эквивалента Struts2 - actionError.get().hasNext()   -  person Aleksandr M    schedule 20.03.2017


Ответы (1)


Сообщения о действиях не являются ошибками и содержат отдельную коллекцию. Его можно было бы обслуживать независимо от статуса проверки действия.

Сообщения о действиях больше подходят для отзывов пользователей, поскольку они не влияют на поток. С другой стороны, ошибки действия делают действие недействительным.

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

person Roman C    schedule 20.03.2017
comment
но как вы можете проверить, присутствует ли конкретная ошибка/сообщение действия в контексте? Не какая-либо ошибка действия/сообщение. - person Ariana; 21.03.2017
comment
Вы можете использовать OGNL для запроса определенного сообщения, например %{actionMessages[0]}. - person Roman C; 21.03.2017