2

我在我的项目中使用 struts2 + spring3。请帮我解决这个问题。

在我的应用程序中,(a.jsp) 与 --> (aAction.java) 相关。

从主菜单,用户可以访问 a.jsp。a.jsp 中有很多字段,用户需要输入数据。在页面中间,用户需要转到另一个页面(b.jsp)来添加更多细节。(b.jsp 页面不是弹窗) 给b.jsp 添加数据后,用户需要回到a.jsp。如何保留 a.jsp 页面数据?

两个页面仅使用一个操作 (aAction.java)。

1) 我可以在 b.jsp 中保留隐藏变量并在 a.jsp 中再次填充数据。但是a.jsp中有这么多
字段。所以这种方式很乏味。

有什么办法可以用 bean 范围处理这个问题吗?或者有什么其他的方法吗?

4

1 回答 1

1

做这件事有很多种方法

  • 在 struts.xml 中使用 redirectActions。定义结果时,您可以将类型设置为 redirectAction。然后,您可以重定向到另一个操作,并将参数作为参数添加到 url http://struts.apache.org/release/2.1.x/docs/redirect-action-result.html

  • 使用 localStorage 而不是会话存储。限制为 5 MB。使用会话存储时需要小心,因为它会影响服务器的性能

  • 如果您使用的是 struts,您可以制作自己的类型转换器来传递任何对象。或者,您可以创建一个包含要保留的值的字符串数组,并将其作为参数传递到 struts.xml(见上文)。Struts 内置了类型转换器,用于在页面/动作之间持久化字符串数组

  • 您也可以将它们保存在 cookie 中,然后在不需要这些值时立即删除 cookie,因为浏览器可以支持的 cookie 数量是有限的

  • 由于上述原因,我通常使用会话存储作为最后的手段

于 2014-07-23T15:30:01.697 回答