我正在使用带有 jsp/jstl 的 spring mvc 3.1.0。要将对象提交给我的控制器,我使用了 ModelAttribute 注释并且一切正常。但是,当我尝试向我的控制器提交一个复杂对象时,他的值为空。这是我的对象模型:
UorgVO.java
public class UorgVO {
private String nom;
private String nomAbrege;
private UorgVO refUniteOrganisParent;
//getters&Setters..
}
还有我的jsp页面:
<form:form method="post" action="saveUorg.html" modelAttribute="uorg" >
<table>
<tr>
<th>Nom</th>
<th>Nom abregé</th>
<th>Unité père</th>
</tr>
<tr>
<td><input type="text" path="nom" name="nom"/></td>
<td><input type="text" path="nomAbrege" name="nomAbrege"/></td>
<td>
<select id="refUniteOrganisParent"
name="refUniteOrganisParent"
path="refUniteOrganisParent">
<option value="null"> --- </option>
<c:forEach items="${listeuos}" var="uorgg" varStatus="status" >
<option value="${uorgg}">${uorgg} </option>
</c:forEach>
</select>
</td>
</tr>
</table>
<input type="submit" value="Enregistrer uorg"/>
</form:form>
我的控制器是:
@RequestMapping(value ="/saveUorg", method = RequestMethod.POST)
public ModelAndView saveUorg(@ModelAttribute("uorg") UorgVO uorg,BindingResult result) {
System.out.println("My foreign attribute is:" +uorg.getRefUniteOrganisParent());
return new ModelAndView("uorg_recherche");
}
并且打印的值为null,但是我的对象的其他属性都提交了。
提前感谢您的帮助