У меня есть два POJO, используемых для отправки html-формы. Один из них - обертка для обертывания ArrayList
.Spring MVC dynamic list form submit
public Class Schedule {
private List<Course> courses;
// Getter & Setters for courses
}
public Class Course {
private String name;
private String description;
// Getter & Setters for both variables
}
Таким образом, когда пользователь переходит к определенному расписанию веб-странице он будет выглядеть через курсы и отображать их в виде редактируемых текстовых полей
<form method="post">
<c:forEach var="course" varStatus="status" items="${schedule.courses}>
<div id="${course.id}">
<input type="text" value="${course.name} name="course[${status.index}].name" />
<input type="text" value="${course.description} name="course[${status.index}].description" />
<input type="button" value="Delete"/>
</div>
</c:forEach>
<input type="submit" value="Submit"/>
</form>
И я JavaScript для удаления конкретного курса с точки зрения когда они нажимают кнопку удаления, которую я не буду перечислять.
Скажем, я показываю 3 курса, и я решил удалить средний. Два оставшихся курса будут отправлены как course.[0].name/course.[0].description
и course[2].name/course[2].description
, а когда весна заполняет объект расписания для курсов, вторым индексом в ArrayList
будет объект курса со всеми значениями, установленными в null.
Мне было интересно, как я могу предотвратить это. Может ли фильтр Spring использовать это для меня или я должен сам это сделать в контроллере?
Спасибо.
Так что мой пост запрос выглядит следующим образом: courses[0].name = "course 1" courses[0].description = "description for course 1" courses[2].name = "course 3" courses[2].description = "description for courses 3"
Но что весна заполнит меня в ArrayList 3 объектов курса, второй в списке массива является объектом конечно как с именем и описанием, установленным в ноль.
Что произойдет, когда при удалении (в JS) вы также «перекомпостируете» индексы, т. Е. После этого у вас будет только курс [0] и курс [1]? – sodik