Если вы можете изменить представление, в идеале вы должны сделать это с каким-то списком.
Что-то вроде:
<input type="text" name="books[0].title" value="Curious George" />
<input type="text" name="books[0].author" value="H.A. Rey" />
<input type="text" name="books[0].date" value="2/23/1973" />
у вас будет класс Book , содержащий ваши 3 элемента.
и содержащий класс, который содержит список книг BookContainer
public class BookContainer {
private List <Book> books = new ArrayList<Book>();
public List<Book> getBooks() {
return books;
}
public void setBooks(List<Book> books) {
this.books = books;
}
}
Теперь в вашем контроллере у вас есть метод @ModelAttribute
, который возвращает класс Contained для привязки:
@ModelAttribute("container")
public BookContainer getBookContainer() {
return new BookContainer;
}
наконец, у вас будет параметр @ModelAttribute для метода отображения вашего запроса:
@RequestMapping
public void handlePost(@ModelAttribute("container") BookContainer container) {
}
весна автоматически добавит столько книг в ваш список, сколько вам нужно.