Java Spring表单中的字段数量可变
我需要在表单中输入相同类型字段的可变数量。假设我有一个命令对象Java Spring表单中的字段数量可变,java,forms,spring,jsp,Java,Forms,Spring,Jsp,我需要在表单中输入相同类型字段的可变数量。假设我有一个命令对象 public class Person String name; String surname; // getters and setters 和一个jsp <form:form command="personCommand"> <form:input path="name"/> <form:input path="surname"/> </form:form>
public class Person
String name;
String surname;
// getters and setters
和一个jsp
<form:form command="personCommand">
<form:input path="name"/>
<form:input path="surname"/>
</form:form>
这是静态字段数的标准方法。但是如果我有类似的东西呢
<form:form command="personCommand">
<c:forEach items="${persons}">
<form:input path="name"/>
<form:input path="surname"/>
</c:forEach>
</form:form>
(这当然是不正确的)事先不知道人数的地方?在Spring中是否有某种方法可以绑定数组或列表中的字段?或者某种解决方法(目前我正在用javascript连接字段,并以编程方式将它们分开,这很难看) 您可以创建一个类(PersonWrapper)并将人员列表作为变量包含在该类中。
然后在JSP中,您可以使用以下语法
<c:forEach items="${personWrapper.persons}" varStatus="i">
<form:input path="persons[${i.index}].name"/>
<form:input path="persons[${i.index}].surname"/>
</c:forEach>
然后在控制器中,您可以获得人员列表中的值如果通过使用javascript添加其他输入(使用正确的路径/索引),人员记录的数量会在界面中发生变化,该怎么办?spring如何约束这些“新人”?