spring webflow使用新项目提交数组

我正在尝试使用spring webflow提交包含新项目的数组。 对于eaxmple,如果myList的大小为3,然后我添加第4项,则提交失败。

                        

那么如何提交这样的表格呢?

因为您提供的数据列表ArrayList具有预定义的固定大小,并且无法接受新条目。

在尝试向流中的数据绑定器中添加任何新条目之前,您需要使用AutoPopulatingList(位于spring-core.jar中)包装ArrayList(或者只是在pojo上使用AutoPopulatingList以避免包装器方法) 。

样品转换方法:

 import org.springframework.util.AutoPopulatingList; 

//跳过了类定义

  public  List wrapListWithAutoPopulatingList(List list, Class pojoClazz) { List apl = new AutoPopulatingList(list, pojoClazz ) ; return apl; } 

Java Doc:

Simple List包装器类,允许在请求时自动填充元素。 这对于数据绑定到列表特别有用,允许以“及时”方式创建元素并将其添加到列表中。

注意:此类不是线程安全的。 要创建线程安全的版本,请使用java.util.Collections.synchronizedList实用程序方法。

灵感来自Commons Collections的LazyList。

另外 ,请注意initBinder上的’ autoGrowCollectionLimit ‘属性。 默认最大值为256个条目。 如果您需要更多(或更少),可以调整此项。 看到

无法发布包含许多(超过256个)值的表单