正如我们所知,我们可以使用 JSTL 标记在 JSP 中填充列表的元素。我的要求是获取从 JSP 到控制器的元素列表。
我有一个 DTO 类(ParentDTO),它内部包含 DTO(ChildDTO)列表,它看起来像,
public class ParentDTO {
private Long id;
private List<ChildDTO> childs;
//getters and setters here....
}
and ChildDTO looks like,
public class ChildDTO {
private String name;
private Long age;
//getters and setters here....
}
在控制器中,
List<ChildDTO> childList = new ArrayList<ChildDTO>();
ChildDTO childOne = new ChildDTO();
childOne.setName("ABC");
childOne.setAge(10);
ChildDTO childTwo = new ChildDTO();
childTwo.setName("XYZ");
childTwo.setAge(5);
childList.add(childOne);
childList.add(childTwo);
model.addAttribute("childList", childList);
在 JSP 中
<c:forEach var="child" items="${childList}">
<tr>
<td>Name : <input type="text" name="name" value="${child.name}"/></td>
<td>Age : <input type="text" name="age" value="${child.age}"/></td>
</tr>
</c:forEach>
上面的代码将正确填充列表。当用户修改详细信息(姓名,年龄)并点击提交方法时我的要求。
当用户单击提交时,我需要从 JSP 获取控制器中的元素列表并保存在数据库中。
有什么建议吗?非常感谢这方面的帮助。