2010-01-20 143 views
4

我有這樣兩個以下春季綁定問題

public class SavedSearch { 
String title; 
ArrayList<SearchParameters> params; 
} 

public class SearchParameter { 
String field; 
int operator; 
String match; 
} 

在輸入表單的JSP頁面的某些對象,我用

<input type="text" name="title"> 

,當我斷點處的FormController中,SavedSearch對象內部標題已填寫。

但ArrayList始終爲空。這不是Spring的錯,它不能讀懂我的想法,但我如何表明場,運算符和匹配是params的一部分?我嘗試將它們命名爲paramsField,paramsOperator,paramsMatch,但沒有運氣。

我知道這不是一個難題,但我有點難住。

+0

正如你已經給了他們對我們來說,這兩個類是完全不相關的 - 在那裏應該是它們之間的關係? – delfuego

回答

2

對於綁定List,您必須使用特殊包裝器而不是ArrayList:Spring中的AutoPopulatingList或Apache Commons Collections中的LazyList。

一些例子:

using LazyList

using AutoPopulatingList

+0

謝謝。使用LazyList看起來非常有用,我將Google AutoPopulatingList和使用bind進行了解。我沒有看到綁定,因爲我使用2.5,我認爲這是一個2.5前的事情,但我會讀。 –

+0

您可以同時使用spring:bind和例如form:input在一個JSP文件中。它們對數據驗證非常有用。 –