THYMELEAF
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org"
xmlns:sec="http://www.thymeleaf.org/extras/spring-security">
<form action="editpersons" method="post" th:object="${personList}">
<th:block th:each="person : ${personBind}">
Name:
<input type="text"
th:name="${personList[__${personStat.index}__].name}"
th:value="${person.name}" />
</br>
</br>
Age:
<input type="text"
th:name="${personList[__${personStat.index}__].age}"
th:value="${person.age}" />
</br>
</br>
</th:block>
</br>
</br> <input type="submit" name="btnSaveEdit" value="Save" />
</form>
CONTROLLER
@RequestMapping(value = "/editpersons", params = "btnSaveEdit", method = RequestMethod.POST)
public
String saveEditPersons(@ModelAttribute ArrayList<Person> personList){
System.out.println("inside edit code personsList size = " + personList.size());
for (Person p : personList) {
System.out.println("person is " + p.getName());
}
return "index";
}
MODEL
@Entity
@Table(name = "person")
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="id")
private int id;
@Column(name = "personList")
private ArrayList<Person> personList;
@Column(name = "name")
private String name;
@Column(name = "age")
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public ArrayList<Person> getPersonList() {
return personList;
}
public void setPersonList(ArrayList<Person> personList) {
this.personList = personList;
}
}