我正在使用Struts2来显示JSP上对象列表的内容。 事件流程如下:
tableList
。在成功,
显示displayData.jsp
。s:iterate
标记显示对象的值
在tableList
。displayData.jsp
并按下。{
更新按钮。点击即可
更新按钮,
UpdateDataAction.java 被调用。现在我的问题是;如何在UpdateDataAction.java中使用相同的tableList来获取修改后的值? 我尝试在UpdateDataAction.java中声明一个名为'tableList'的ArrayList(以及getter和setter),但它会抛出NullPointerException。
请建议。
答案 0 :(得分:0)
IMO你更新的方式不是一个好主意。你应该将每一行链接到一个单独的编辑页面或使用ajax。有很多插件可用于使用ajax更新表值,如果你需要我可以为你提供链接 回到你的方式,我猜你正在做如下
<s:form action="UpdateDataActionName">
<s:iterator value="tableList">
<s:textfield name="objectName.propertyName1" value="%(propertyName1)">
<s:textfield name="objectName.propertyName2" value="%(propertyName2)">
<s:textfield name="objectName.propertyName3" value="%(propertyName3)">
</s:iterator>
<s:submit value="Update"/>
</s:form>
现在在UpdateDataAction
中声明一个类型为<objectNameoftableListType>
的列表,即tabeList所代表的相同对象类型。列表的名称必须为objectName
。尝试Iteate和检查您是否从jsp提交了正确的值。