Spring表单绑定到c:forEach内部的Set


问题内容

form在JSP中使用Spring
标记库进行表单绑定。我的命令对象包含一个Set,我想使用JSTL遍历该集合,<c:forEach><form:input>为集合中的每个对象创建一个Spring
。我已经看到了如何使用List

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

我的问题是我使用的是无序的Set,我不相信可以使用该index属性。将a的内容添加Set到Spring绑定表单的最佳实践是什么?我想我只需要转换为List,但是我对任何可能的替代方法都感兴趣。


问题答案:

您的支持表单的对象List实际上应该在中包含此数据。迭代集合没有太大意义,因为不能保证迭代顺序意味着任何东西-
当然,没有index集合的概念。我想您可能会对这些元素显示在页面上具有某种期望的顺序。