Tabular Inputs当数组的大小未知时,建议使用XWorkList
代替ArrayList
&两者之间存在差距。
但XWorkList
不是通用的&根据{{3}}
我的问题是如何使用XWorkList
或有没有办法提交列表中缺少某些项目的bean列表?
示例Html:
<input name="lst[0].name"/>
<input name="lst[3].name"/>
<input name="lst[4].name"/>
答案 0 :(得分:0)
List
合同是有序集合。它不能缺少任何缺失。关于XWorkList
它只是列表的另一个实现,能够通过填充所需元素的间隙来为指定的索引创建新元素。对add(int, Object)
将指定元素插入此列表中的指定位置。 移动当前位于该位置的元素(如果有)和任何元素 右边的后续元素(在其索引中添加一个)。 这种方法可以保证工作,因为它会创建空豆 填补当前列表大小和请求索引之间的差距 启用元素设置。
在列表中创建新bean的另一种方法是使用type conversion。或者使用this回答中的注释。
答案 1 :(得分:0)
它正在扩展ArrayList
并且有一个带Class
的构造函数。因此你会改变:
List<String> foo = new ArrayList<String>();
foo.add("bar");
foo.add("");
foo.add("");
foo.add("foobar");
foo.add("barfoo");
成:
List<String> foo = new XWorkList(String.class);
foo.add("bar");
foo.add(3, "foobar");
foo.add(4, "barfoo");