Validation Struts2 JPA验证错误如何转发到操作而不丢失操作错误消息?
我正在使用HibernateValidator4.1来验证我的实体 我有一个仪表板,可以从actionValidation Struts2 JPA验证错误如何转发到操作而不丢失操作错误消息?,validation,struts2,forward,Validation,Struts2,Forward,我正在使用HibernateValidator4.1来验证我的实体 我有一个仪表板,可以从actionviewDashboard访问。在我的action类中,我设置了两个List的值,如下所示 public String execute() throws Exception { listDocteur = service.listDocteur(); listUser = service.listUser(); return SUCCESS; } 公共字符串execu
viewDashboard
访问。在我的action类中,我设置了两个List
的值,如下所示
public String execute() throws Exception {
listDocteur = service.listDocteur();
listUser = service.listUser();
return SUCCESS;
}
公共字符串execute()引发异常{
listDocteur=service.listDocteur();
listUser=service.listUser();
回归成功;
}
在仪表板中,我有一个可以添加用户的提交按钮
<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>
/WEB-INF/jsp/viewDashboard.jsp
视图仪表板
如果我提交了一个无效的值,我将看到错误消息,但我将丢失2个列表。如果我有一个type=“redirectAction”
,我会丢失错误消息
在Struts 1中,我将转到操作
viewDashboard.do
而不使用重定向
,这将起作用。如何在Struts2中实现这一点?检查这可能会对您有所帮助,因为重定向操作从一开始就意味着一个新的请求
可能就是你想要的
链接“允许操作将请求转发到目标操作,同时传播源操作的状态。”我找到了一个解决方案。我必须使用
input type=“redirectAction”>youraction.
并且需要将其放入您的SAVEAction
<interceptor-ref name="store">
<param name="operationMode">STORE</param>
</interceptor-ref>
贮藏
最后,在displayAction中(将显示错误消息)
自动的
或还原我确实尝试了链接。。但我的信息仍然不在那里。我有一个拦截器来验证实体。它发现了两个错误。。在日志中记录错误并转发到输入。即使我放置了result name=“input”type=“chain”>viewDashboardConfig/result>和interceptor ref name=“chain”/>我的消息也不存在,看起来我可以使用它来存储链操作之间的消息 <interceptor-ref name="store"> <param name="operationMode">AUTOMATIC</param> </interceptor-ref>