我试图在Spring MVC中生成动态表单。我需要一些代码如何工作的信息。 我用过的表格
<form:form action="/createMultiMembers" method="POST" modelAttribute="memberList">
<c:forEach items="${memberList.membersList}" var="member" varStatus="i" begin="0">
<form:input path="membersList[${i.index}].name" />
</c:forEach>
我可以知道下面的代码是如何工作的。在弹簧形式的基本路径和pojo中的变量名称应该是相同的。但在这里我很困惑。发生的事情可以随心所欲。
<form:input path="membersList[${i.index}].name" />
这是我从inspect元素得到的,我可以知道它的工作原理的背景逻辑
<form id="memberList" action="/createMultiMembers" method="POST">
<input id="membersList0.name" name="membersList[0].name" type="text" value="Mate0">
<input id="membersList1.name" name="membersList[1].name" type="text" value="Mate1">
<input id="membersList2.name" name="membersList[2].name" type="text" value="Mate2">
<input id="membersList3.name" name="membersList[3].name" type="text" value="Mate3">
<input id="membersList4.name" name="membersList[4].name" type="text" value="Mate4">
<input type="submit" value="Submit">
</form>
控制器部件我正在使用
@RequestMapping(value="/", method=RequestMethod.GET)
public String createMultiUser(@ModelAttribute("memberList")MemberList memberList,Model model)
{
List<Members> memlist=new ArrayList<Members>();
for(int i=0;i<5;i++)
{
memlist.add(new Members("Mate"+i,"NO"));
}
model.addAttribute("memberList", new MemberList(memlist));
return "CreateUsers";
}
会员Pojo班
public class Members {
@Id
@Column(name="Name",nullable=false)
private String name;
@Column(name="RentPayer")
private String rentPayer;
@Column(name="PhoneNumber")
private String mobileNum;
public Members(){}
public Members(String name, String rentPayer, String mobileNum) {
super();
this.name = name;
this.rentPayer = rentPayer;
this.mobileNum = mobileNum;
}
public String getMobileNum() {
return mobileNum;
}
public void setMobileNum(String mobileNum) {
this.mobileNum = mobileNum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getRentPayer() {
return rentPayer;
}
public void setRentPayer(String rentPayer) {
this.rentPayer = rentPayer;
}
}