Freemarker 和 Struts 2 错误处理集成

Freemarker and Struts 2 error handling integration

我有一个项目,其中 Struts2 提供 MVC 层并使用 FreeMarker 模板更新网页。一些 FreeMarker 模板 returns 部分视图 - 例如 addNewRow.ftl 其中 returns 一个 table 行。 使用 addActionError 方法验证操作并将错误消息添加到网页。
在网页仅收到部分视图的情况下,由于页面中缺少错误信息,因此不会显示验证消息。
在这种情况下,您如何检索和显示操作中发生的验证错误?

仅仅因为您选择根据用户操作重绘 UI 的一部分并不意味着必须在此处显示所有信息。通过使用 jQuery,您可以轻松获取错误信息并将其插入页面上任何现有的 DOM 节点,即使那些不属于您刚刚呈现的页面部分的节点也是如此。

另一种解决方案是重绘 UI 的较大部分,而不是包括错误显示容器,并在重绘期间简单地序列化操作消息。

或者您可以查看您的重绘回调,看看是否可以将其拆分为多个调用,每个调用都可以独立处理它们各自的页面重绘部分,例如:添加您的 table 行并呈现错误消息。