我正在使用带有struts 1.3的Display tag library
我会以这样的方式显示数据,即用户可以更改最后一列中的值(即最后一列是可编辑的)。
我找到this,但我不会使用复选框。
如果有可能,我会很好地解释如何实现这一目标。
我是否要使用装饰器?我怎么知道用户编辑了哪些行?
答案 0 :(得分:0)
我手动做了这种。它可能有所帮助。
为该可编辑列指定名称并在列中放置一个文本框。
<table>
<tr><td><input type="text" name="editable"/></td</td>
<tr><td><input type="text" name="editable"/></td</td>
<tr><td><input type="text" name="editable"/></td</td>
</table>
当您提交表单并在servlet中执行httpRequest.getParameter("editable")
时,您应该按照显示的顺序在文本框中获取数组/值列表。
然后,您可以执行先前的搜索,以显示数据并将其与上面的列表进行比较。
String[] editedList = httpRequest.getParameter("editable");
Object[] originalList = dao.getList(...);
List<Object> editedItems = new arrayList<Object>();
for(int i=0; i < originalList; i++){
if(editedList[i].equalsoriginalList[0].getProp()){
//No changes have been made
}else{
//Changes have been made.
editedItems.add(originalList[i]);
}
}
有了这个,你最终会得到编辑过的对象列表editedItems