Struts2 JPA Validation error как переслать в действие и не потерять сообщения ActionErrors? - PullRequest
0 голосов
/ 13 марта 2011

Я использую валидатор Hibernate 4.1 для проверки моей сущности.

У меня есть панель управления, к которой я могу получить доступ из действия viewDashboard.В своем классе действий я установил значения двух List следующим образом.

public String execute() throws Exception {

    listDocteur = service.listDocteur();
    listUser = service.listUser();

    return SUCCESS;
}

В DashBoard у меня есть кнопка отправки, которая может добавить пользователя.

<action name="saveUser" class="com.test.action.CreateUserAction" method="execute">
   <interceptor-ref name="mybasicStackWithValidation" >
   </interceptor-ref>
   <result name="input">/WEB-INF/jsp/viewDashboard.jsp</result>
   <result name="success" type="redirectAction">viewDashboard</result>
</action>

Если я отправлю недопустимое значение, я увижу сообщения об ошибках, но я потеряю свои 2 списка.Если у меня есть type="redirectAction", я теряю сообщения об ошибках.

В Struts 1 я бы перешел к действию viewDashboard.do без redirect, и это сработает.Как я могу добиться этого в Struts2?

Ответы [ 3 ]

0 голосов
/ 13 марта 2011

Цепочка действий может быть тем, что вы ищете.

Цепочка «позволяет действию перенаправлять запросы целевому действию при распространении состояния исходного действия».

0 голосов
/ 16 марта 2011

Нашел решение.Я должен использовать &lt;input type="redirectAction">youraction ..

и должен указать это в вашем SAVEAction

<interceptor-ref name="store">
    <param name="operationMode">STORE</param>
</interceptor-ref>
  

и, наконец, в вашем действии displayAction (которое будет отображать сообщения об ошибках)

<interceptor-ref name="store">
    <param name="operationMode">AUTOMATIC</param>
</interceptor-ref>

или ВОССТАНОВИТЬ

0 голосов
/ 13 марта 2011

Проверьте, может быть, это поможет вам, поскольку redirectAction означает новый запрос с начала

Ссылка

...