Ссылка на actionerror из httpheader приводит к Struts.xml - PullRequest
1 голос
/ 29 января 2010

В своем действии TestClass я устанавливаю ошибку действия, используя метод addActionError. У меня есть действие, определенное в struts.xml как следующее

<action name="TestAction" class="TestClass">
    <result name="input">/jsp/test.jsp</result>
    <result name="error" type="httpheader">
       <param name="error">409</param>
       <param name="errorMessage">${SOME-EXPRESSION}</param>
    </result> 
</action>

Цель состоит в том, чтобы сообщение об ошибке отображало то, что было добавлено с помощью addActionError. Согласно документации org.apache.struts2.dispatcher.HttpHeaderResult, я должен иметь возможность использовать выражения Ognl в параметре errorMessage.

Итак, можно ли поместить что-то вместо $ {SOME-EXPRESSION}, которое будет ссылаться на actionerror в этом сценарии (я пробовал $ {actionerror}, но это не сработало)

Я знаю, что я могу обойти эту проблему, объявив свое собственное поле (например, «errorText») в классе действия и используя это instad of addActionError, ссылаясь на него с помощью $ {errorText} внутри тегов param. Но прежде чем я пойду этим путем, хочу убедиться, что это единственный путь.

1 Ответ

1 голос
/ 03 февраля 2010

Ошибки действий хранятся в списке, поэтому вам нужно будет показать что-то вроде $ {actionErrors [0]}. Но имейте в виду, что при этом будет отображаться только ваша первая добавленная ошибка, а не все, которые вы добавили с помощью addActionError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...