我在我的JSP中使用Spring form
标记库进行表单绑定。我的命令对象包含Set
,我想使用JSTL <c:forEach>
迭代该集合,并为我的集合中的每个对象创建一个Spring <form:input>
。我已经了解了如何使用List
:
<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 :(得分:2)
您的表单支持对象应该在List
中包含此数据。迭代整个集合没有多大意义,因为迭代顺序不能保证具有任何意义 - 当然,对于集合没有index
的概念。我想你可能有一些特定的订单要让这些元素出现在页面上。