Spring绑定嵌套对象

时间:2014-01-06 07:39:22

标签: spring-mvc data-binding binding modelattribute

我对spring mvc很新,并且我一直在尝试使用“modelAttribute”在Spring中绑定嵌套对象而没有结果。

例如:我有这个类(这是一个硬编码的例子所以不要指望一个完美的语法,它只是让你理解这个问题)

public class car{

private int idCar;
private String brand;
private String color;
private Owner owner; //nested object

//getters and setters

}

然后我有一个get和一个post控制器..在get控制器中我做了这样的事情:

   @RequestMapping(value="/showCar", method = RequestMethod.GET)
    @ModelAttribute("car")
    public ModelAndView showCar(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      ModelAndView view = new ModelAndView("showCar");
      Car car=new Car();
      Owner owner=OwnerService.findOwnerById(1) //an owner that exists in the database
      car.setOwner(owner); //setting Owner object to car object
      view.addObject("car", car); // adding the car to the model
      return view;
    }

发布控制器(在我的jsp页面上提交后,我希望在我的帖子控制器中接收带有嵌套对象的汽车对象):

 @RequestMapping(value="/showCar/process", method=RequestMethod.POST)
    public ModelAndView addCar(@ModelAttribute("car") Car car, BindingResult result) {


      car.getOwner();  //error, null.



        }

我无法完成这项工作..将嵌套对象绑定到控制器的正确方法是什么?这是非常基本的东西,我认为任何已经使用spring一段时间的人必须知道,但由于某种原因,我没有找到任何绑定到控制器的嵌套对象的例子。

所以,如果有人能用一个小例子回答这个问题,那将是非常有用的。

感谢。

0 个答案:

没有答案