我们有一个需要在 html 页面上编辑的域对象列表。例如,命令和域对象:
class MyCommand {
List<Person> persons;
}
class Person {
String fname;
String lname;
}
然后,我期望 Spring MVC 标签库生成的 HTML 如下所示:
<form>
<input name="persons[0].fname"> <input name="persons[0].lname"><br/>
<input name="persons[1].fname"> <input name="persons[1].lname"><br/>
<input name="persons[2].fname"> <input name="persons[2].lname"><br/>
...
<input name="persons[n].fname"> <input name="persons[n].lname"><br/>
</form>
但看不到如何使用 Spring 表单标签库(使用 Spring 2.5.6)来表达这一点。我想使用标签库,以便它负责将现有值绑定(bind)到标签以进行编辑(当它们存在时)。
有什么建议吗?
最佳答案
没有办法简单地让 Spring 表单标签根据集合生成整个列表(它将针对选择框中的选项执行此操作,但这是我所知道的唯一基于集合的扩展)。但是,您仍然可以在循环中使用 Spring 表单标签,如下所示:
<c:forEach var="person" varStatus="loopStatus" items="myCommand.persons">
<form:input path="persons[${loopStatus.index}].fname" /> <form:input path="persons[${loopStatus.index}].lname" /><br />
</c:forEach>
关于java - 使用 spring mvc 跟踪多个相关的输入框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1897201/