2011-11-08 37 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

这确实有道理。感谢您的回答。 –