Spring mvc 3通用控制器架构问题

时间:2011-04-23 07:45:32

标签: spring-mvc

抱歉新手问题, 场景很简单,我去Jsp页面,可以填写驱动程序信息, 我有驱动程序对象的设置方法

@RequestMapping(method = RequestMethod.GET)
public ModelAndView setUpForm(){
ModelAndView modelAndView =  new ModelAndView("/driverForm");
Driver = myService.getDriver();
modelAndView.addObject("driver",driver);
return modelAndView;
}

更新方法以获取驱动程序更新数据

@RequestMapping(params = "update", method = RequestMethod.POST) 
  public String update(Driver driver, BindingResult result, SessionStatus status) {
myService.saveDriver(driver);
return "driversList";
}

然后我用所需的驱动程序信息“喂养”jsp层,例如驱动程序名称:

<form:input path="name" size="20" maxlength="50"  />

我的问题是如何填充不同的模型属性并将驱动程序信息连接到这些属性 例如: 显示各种许可证类型作为用户可以选择的复选框(自行车,公共汽车,驾驶室等),并将它们在我的控制器中映射到驱动程序对象上的单个属性, 在此字段中编辑现有驱动程序时也会映射选择 什么是正确的控制器架构?

1 个答案:

答案 0 :(得分:1)

在你的控制器中为模型添加一个包含你想要提供的所有选项的集合,然后使用from:radioButtons标签来渲染它,这样代码就像这样:

    @RequestMapping(method = RequestMethod.GET)
public ModelAndView setUpForm(){
ModelAndView modelAndView =  new ModelAndView("/driverForm");
Driver = myService.getDriver();
modelAndView.addObject("driver",driver);
Collection transportType = ....
modelAndView.addObject("transportType", transportType);
return modelAndView;
}

在JSP中,您可以执行类似这样的操作

<form:radioBoxes items="${transportType}" path="..."/>

您可以在此处找到有关单选按钮标记的更多信息:http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/view.html#view-jsp-formtaglib-radiobuttonstag