1

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

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

1 Comment

This works for my one senario properly. I am getting the address list values included in my user entity. But here >user.address[0].city and so on is hard coded. but when i will not know the size of array list how could assign variable name.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.