2011-11-08 21 views
1

我在我的JSP中使用Spring form標籤庫進行表單綁定。我的命令對象包含一個Set,我想使用JSTL <c:forEach>迭代該集合,併爲我的集合中的每個對象創建一個Spring <form:input>。我已經看到了如何與List做到這一點:春天窗體綁定到設置裏面c:forEach

<form:form> 
    <c:forEach items="${itemList}" var="item" varStatus="status" > 
    <form:input path="itemList[${status.index}].name" /> 
    </c:forEach> 
</form:form> 

我的問題是,我使用的是無序Set,我不相信,我可以使用index屬性。將Set的內容添加到Spring綁定表單的最佳做法是什麼?我想我只需要轉換爲List,但我對任何可能的選擇感興趣。

+0

在我的情況下,我必須從jsp頁面中爲列表中的每個用戶檢查屬性,所以我必須在我的表單支持對象中使用列表,可以有人幫助我,那就是我的問題的鏈接http://stackoverflow.com/q/11478816/1458508 – maouven

+0

上面的JSP代碼不在Websphere中工作,得到以下錯誤。 'org.springframework.beans.NotReadablePropertyException:bean類[com.xxx.yyy.conf.xxxx]的屬性'xxxx [0]':Bean屬性'xxxx [0]'不可讀或具有無效的getter方法: getter的返回類型是否與setter的參數類型相匹配? – Nagesh

+0

任何人在Websphere 7應用程序服務器中都有這個問題? – Nagesh

回答

2

您的表單支持對象應該在List中包含此數據。迭代順序不能保證意味着什麼 - 迭代集合沒有什麼意義 - 當然,對於集合,沒有index的概念。我想你可能有一定的期望順序讓這些元素出現在頁面上。

+0

這確實有道理。感謝您的回答。 –