2017-08-01 4 views
0

私はユーザーフォームに住所のリストを持つユーザーモデルを持っています。ユーザーが希望するアドレスをいくつでも追加できます。このデータを住所リストに直接バインドする方法?春 - モデルのリストにフォームデータをバインドする方法

私が見つけた1つの方法は、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"/>

動的

答えて

0

を、このデータを設定する方法は、コード

<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> 

以下のようにしますforeachを使用することができますし、新しいアドレスを持っている場合、あなただけのallAdressesアレイに新しいオブジェクトを追加あり

+0

jspからモデルにオブジェクトを追加する必要があります。あなたが示唆しているのは、モデルからJSPへのデータ表示です。 – Dhananjay

+0

私はこのlinkeのcontiansあなたが望むと思う http://viralpatel.net/blogs/spring-mvc-multi-row-submit-java-list/ と私はサンプル –

+0

のポストを編集ありがとう、リンク共有は既知のリストサイズには最適ですが、動的な追加や削除の場合は機能しません。 – Dhananjay

0

解決策を1つ試すことができます。アドレスのリストを受け入れるAddressWrappオブジェクトを作成してください。そしてuserモデル

class AddressWrapper{ 

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

使用のアドレスを結合するため、このラッパーオブジェクト内でこのAddressWrapperオブジェクトを使用します。

class User{ 

private AddressWrapper addressWrapper; 
//generate getters and setters 

} 
+0

また、AddressWrapperの値をjspからバインドする方法を共有することもできます。 – Dhananjay

関連する問題