1

表格输入这建议在数组大小未知且两者之间存在间隙时使用XWorkList而不是。ArrayList

XWorkList根据文档,它不是通用的,它没有空的构造函数。

我的问题是如何使用XWorkList或有什么方法可以提交列表中缺少某些项目的 bean 列表?

示例 HTML:

<input name="lst[0].name"/>
<input name="lst[3].name"/>
<input name="lst[4].name"/>
4

2 回答 2

0

List合同是有序集合。它不能缺少索引。关于XWorkList它只是列表的另一种实现,能够通过填充所需元素的间隙来为指定索引创建新元素。说什么add(int, Object)

在此列表中的指定位置插入指定元素。将当前位于该位置的元素(如果有)和任何后续元素向右移动(将它们的索引加一)。此方法保证有效,因为它将创建空 bean 以填补当前列表大小和请求的索引之间的空白,以启用要设置的元素。

在列表中创建新 bean 的另一种方法是使用类型转换。或使用答案中的注释。

于 2013-12-07T08:17:49.557 回答
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");
于 2013-12-07T08:18:38.783 回答