Struts2如何在页面之间导航时保​​持表单值?

时间:2013-10-12 09:08:23

标签: struts2

我正在为我的项目使用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范围处理这个问题?或者其他任何方式?

1 个答案:

答案 0 :(得分: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数量有限制

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