Spring - 如何将表单数据绑定到模型中的List

时间:2017-08-01 07:03:13

标签: spring jsp spring-mvc jstl

我有一个用户模型,其中有一个地址列表,在用户表单上,人可以添加他想要的地址,如何将这些数据直接绑定到地址列表?

我发现的一种方法是在jsp中执行如下操作,但这需要添加索引变量。

<form:input path="address[0].street" type="text"/> <form:input path="address[0].state" type="text"/> <form:input path="address[0].postalcode" type="text"/>

有没有办法动态设置这些数据

2 个答案:

答案 0 :(得分:0)

您可以像下面的代码一样使用foreach

<c:forEach items="${allAdresses}" var="address" varStatus="status">
    <form:input path="address[${status.index}].street" type="text"/>
    <form:input path="address[${status.index}].state" type="text"/>
    <form:input path="address[${status.index}].postalcode" type="text"/> 
</c:forEach>

如果您有新地址,则只需在allAdresses数组中添加新对象

答案 1 :(得分:0)

您可以尝试一种解决方法,创建一个接受地址列表的AddressWrapp对象。并在AddressWrapper模型

中使用此user对象
class AddressWrapper{

private List<Address> addressWrapper;
    //generate getters and setters
}

使用此包装器对象来绑定地址。

class User{

private AddressWrapper addressWrapper;
//generate getters and setters

}