使用带有spring mvc的@ModelAttribute将complexe对象提交给控制器

时间:2013-07-01 10:25:29

标签: jsp spring-mvc jstl modelattribute

使用spring mvc 3.1.0和jsp / jstl 请问如何在spring mvc中使用@ModelAttribute进行转换

我想从我的jsp页面向控制器提交一个对象,我的对象包含一个对象字段的select标记,该标记总是以null值提交。

我的对象:

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"  <BQ>  <a href="recherche_uorg.html">   Annuler</a>    
</form:form>

我的控制器是:

    @RequestMapping(value ="/saveUorg", method = RequestMethod.POST)
    public ModelAndView saveUorg(@ModelAttribute("uorg") UorgVO uorg,BindingResult result){

    System.out.println("contenu du nom de l'UO est :" +uorg.getRefUniteOrganisParent());


    return new ModelAndView("uorg_recherche");  
    }   

,打印值为空

提前感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我猜您无法使用这些表单绑定嵌套对象。你可能想要了解的是Spring Binding Form。请参阅here