Spring MVC片段工作信息中的动态表单生成

时间:2018-06-04 13:48:07

标签: java spring spring-mvc

我试图在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;
    }
}

0 个答案:

没有答案