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

Posted

技术标签:

【中文标题】Struts2 JPA 验证错误如何转发到操作而不丢失 ActionErrors 消息?【英文标题】:Struts2 JPA Validation error how to forward to action and not lose ActionErrors messages? 【发布时间】:2011-07-14 07:35:24 【问题描述】:

我正在使用 Hibernate 验证器 4.1 来验证我的实体。

我有一个仪表板,我可以通过操作 viewDashboard 访问它。在我的动作类中,我像这样设置两个List 的值。

公共字符串执行()抛出异常 listDocteur = service.listDocteur(); listUser = service.listUser(); 返回成功;

在仪表板中,我有一个可以添加用户的提交按钮。

/WEB-INF/jsp/viewDashboard.jspviewDashboard行动>

如果我提交了无效值,我会看到错误消息,但我会丢失我的 2 个列表。如果我有 type="redirectAction",我会丢失错误消息。

在 Struts 1 中,我会在没有 redirect 的情况下转发到动作 viewDashboard.do,这样就可以了。如何在 Struts2 中实现这一点?

【问题讨论】:

【参考方案1】:

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

Link

【讨论】:

【参考方案2】:

Action Chaining 可能就是您要找的。​​p>

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

【讨论】:

我确实尝试了链接.. 但我的消息仍然不存在。我有一个拦截器来验证实体。它发现了 2 个错误.. 在日志中记录错误并转发到输入。即使我输入 <result name="input" type="chain">viewDashboardConfig</result> 和 <interceptor-ref name="chain"/> 我的消息也不存在 看起来我可以用它来存储链操作之间的消息glindholm.wordpress.com/2008/07/02/…【参考方案3】:

我找到了解决方案。我必须使用&amp;lt;input type="redirectAction"&gt;youraction ..

并且需要把它放在你的SAVEAction

存储

最后,在您的 displayAction 中(将显示错误消息)

自动

或恢复

【讨论】:

以上是关于Struts2 JPA 验证错误如何转发到操作而不丢失 ActionErrors 消息?的主要内容,如果未能解决你的问题,请参考以下文章

我如何告诉 Struts2 在表单第一次显示时不要验证它?

Struts2中如何将验证的错误信息用提示框的形式显示出来?

Struts2如何实现弹出action返回的错误信息的呢?

struts2.0的工作原理?

JPA:持久化/更新孩子期间的事件通知?

如何以编程方式确认Gmail自动转发验证?