Struts2 JPA验证错误如何转发操作而不丢失ActionErrors消息?

时间:2011-03-13 03:15:09

标签: validation struts2 forward

我正在使用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 :(得分:0)

检查这可能会对您有所帮助,因为redirectAction意味着从头开始的新请求

Link

答案 1 :(得分:0)

Action Chaining可能就是您要找的。

链接“允许Action将请求转发到目标Action,同时传播源Action的状态。”

答案 2 :(得分:0)

我找到了解决方案。我必须使用&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>

或RESTORE