2011-02-24 39 views
1

有沒有人處理過一種情況,即在客戶端(html表單)有一種類型的字段,存在多次?具有各種字段數的html表單的域名轉移對象

像:

<input id="fileRef1" type="hidden"/> 
    <input id="fileRef2" type="hidden"/> 
    .... 
    <input id="fileRefx" type="hidden"/> 

使得DTO會需要這樣的東西String[] fileRefs;

我使用Spring框架,但我不明白我怎麼可以使用DataBinder的或自定義編輯器爲。有什麼建議嗎?

回答

2

春季結合將允許你使用類似語法

<input name="arrayOfStrings[0]" type="hidden" value="xxx"> 
<input name="arrayOfStrings[1]" type="hidden" value="xxx"> 

要確保你的DTO數組大小是正確的。如果您現在知道表單生成時您的集合有多少元素,您也可以使用org.springframework.util.AutoPopulatingList

+0

@three_cups_of_java:你的意思是「正確的大小」? dataBinder關注「String [] fileRefs的實例化和初始化;」在DTO中。至於AutoPopulatingList,你的意思是在我的DTO中定義「AutoPopulatingList apList」就足夠了,然後有不同數量的輸入字段,例如arrayOfStrings [0-x]? – lisak

+0

「正確的大小」,我的意思是如果你有一個大小爲0的數組或java.util.List,你將不能添加任何東西,因爲它沒有「槽」來接受值。 –

+0

我不確定關於實例化String []的數據聯編程序。我從來沒有這樣做過,但它對我來說很有意義(javax.servlet.ServletRequest.getParameterValues返回一個String []) –

0

給相同的字段名稱到所有領域

<input id="fileRef1" name="fileRefs" type="hidden"/> 
<input id="fileRef2" name="fileRefs" type="hidden"/> 

....

使得fileRefs值將字符串數組如String [] fileRefs保存爲了

相關問題