我们的应用程序是使用Struts2开发的,可以在JBoss服务器上运行。
我需要开发一个JSP页面,其中将使用来自<s:iterator>
的{{1}}和<s:property>
标记显示网格内容(比如说List
对象)存储在会话中。
现在,用户可以添加/更新/删除迭代会话列表生成的行内容。
例如,如果我有一个Peron对象的大小为n的列表,并且在JSP中它显示为
姓名年龄联系
name1 24 1234456
name2 30 45654634
依旧......
用户可以添加/更新/删除任意数量的行,最后可以保存。
如何处理此要求?
答案 0 :(得分:1)
这很危险......让我们说权力消失了,会话并没有随处可见。
因此,不是更新会话n次,最后一次保存数据,而是简单地保存数据n次。但是这个必要条件被认为可以阻止对数据库的过多访问(可能与成千上万的用户有关),那么你可以像这样使用AJAX和Struts2-JSON-plugin:
<package>
中extends="json-default"
并返回<result type="json">
),实现SessionAware,并从JSP接收一行; execute()
方法中,从会话地图中读取您的列表,添加新行,然后返回SUCCESS; 这样用户可以更改页面,返回并查找以前输入的所有数据,并且您将避免整个页面的大量POST(AJAX + JSON更轻松)。