Reputation: 2522
I want to send the list of objects from jsp to controller.
Actually i had User enity and it has one to many relationship with Address enity. My jsp is as follows :
<div class="label"><b>First Name :</b></div>
<div class="leftSide"><input type="text" name="firstName" class="textBox" style="width:250px;" /></div>
<div class="clr ht5"></div>
<div class="label"><b>Company :</b></div>
<div class="leftSide"><input type="text" name="company" class="textBox" style="width:250px;" /></div>
<div class="clr ht5"></div>
</div>
<div class="rightHalfColumn">
<div class="label"><b>Last Name :</b></div>
<div class="leftSide"><input type="text" name="lastName" class="textBox" style="width:250px;" /></div>
<div class="clr ht5"></div>
<div class="label"><b>Email Address :</b></div>
<div class="leftSide"><input type="text" name="email" class="textBox" style="width:250px;" /></div>
<div class="clr ht5"></div>
Address 1
<div class="label"><b>Address 1 :</b></div>
<div class="leftSide"><input type="text" name="address1" class="textBox" style="width:250px;" /></div>
<div class="label"><b>City :</b></div>
<div class="leftSide"><input type="text" name="city" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Zipcode :</b></div>
<div class="leftSide"><input type="text" name="zipcode" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Address 2 :</b></div>
<div class="leftSide"><input type="text" name="address2" class="textBox" style="width:250px;" /></div>
<div class="label"><b>State :</b></div>
<div class="leftSide"><input type="text" name="state" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Phone :</b></div>
<div class="leftSide"><input type="text" name="phone" class="textBox" style="width:250px;" /></div>
Address 2
<div class="label"><b>Address 1 :</b></div>
<div class="leftSide"><input type="text" name="address1" class="textBox" style="width:250px;" /></div>
<div class="label"><b>City :</b></div>
<div class="leftSide"><input type="text" name="city" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Zipcode :</b></div>
<div class="leftSide"><input type="text" name="zipcode" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Address 2 :</b></div>
<div class="leftSide"><input type="text" name="address2" class="textBox" style="width:250px;" /></div>
<div class="label"><b>State :</b></div>
<div class="leftSide"><input type="text" name="state" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Phone :</b></div>
<div class="leftSide"><input type="text" name="phone" class="textBox" style="width:250px;" /></div>
Address 3
<div class="label"><b>Address 1 :</b></div>
<div class="leftSide"><input type="text" name="address1" class="textBox" style="width:250px;" /></div>
<div class="label"><b>City :</b></div>
<div class="leftSide"><input type="text" name="city" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Zipcode :</b></div>
<div class="leftSide"><input type="text" name="zipcode" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Address 2 :</b></div>
<div class="leftSide"><input type="text" name="address2" class="textBox" style="width:250px;" /></div>
<div class="label"><b>State :</b></div>
<div class="leftSide"><input type="text" name="state" class="textBox" style="width:250px;" /></div>
<div class="label"><b>Phone :</b></div>
<div class="leftSide"><input type="text" name="phone" class="textBox" style="width:250px;" /></div>
Here i have three Address like. Address1, Address2 and Address3
now I get the User info at @ModelAttribut("user") User user
but i didnt get the addresses list from user.getAddress();
.
It returns the "[]" empty value for addresslist.
How could i get this list of address objects from jsp to controller.
Can anyone help me please..
Upvotes: 1
Views: 4432
Reputation: 15204
It described in documentation, just read section about nesting properties.
For provided case you need to set field names properly:
user.address[0].city
user.address[1].city
user.address[2].city
This code will set cities for 3 address of user. Do similar transformation with other fields.
Upvotes: 1