【发布时间】:2015-07-23 05:58:17
【问题描述】:
我正在尝试将表单映射到其中包含列表的 modelAttribute。它向我抛出空指针异常。请帮忙。
这是我的模特
public class FamilyDetails {
private String spousesName;
private int spousesAge;
private String fatherName;
private String motherName;
private String fatherAge;
private String motherAge;
private long emergencyNumber;
private String weddingDate;
private List<ChildrenDetails> childrenDetails;
.....
这包含 childrenDetails 模型的列表
我的孩子详细信息模型是
public class ChildrenDetails {
private String childName;
private String childGender;
private String childDob;
private String childCompanyName;
private String childPosition;
....
我想在 jsp 中设置从我的 spring 表单标签中获取的值并将其绑定到我的模型。 所以这就是我所做的
<tr>
<c:set value="${family.childrenDetails}" var="child"/>
<td>childname:<input type="text" value="${child.childName}"/></td>
<td>childGender:<input type="text" value="${child.childGender}"> </td>
<td>childDob:<input type="text" value="${child.childDob}"> </td>
<td>childCompanyName:<input type="text" value="${child.childCompanyName}"> </td>
<td>childPosition:<input type="text" value="${child.childPosition}"> </td>
</tr>
每次我更改某些内容时,都会遇到不同类型的异常。 请告诉我将模型绑定到我从 UI 发送的值的正确方法是什么
【问题讨论】:
-
你没有绑定任何东西,使用 Spring 表单标签而不是普通的输入标签。目前生成的随机 id/name 与您的属性名称不匹配,因此基本上不会发生任何事情,也不会绑定任何内容。此外,您将整个集合绑定到一个也不起作用的元素。我强烈建议阅读一下弹簧表单标签的工作原理以及 JSTL 的工作原理。
标签: java spring spring-mvc jstl spring-form