我有控制器方法处理2种类型的请求:添加新的Group
和编辑现有的Group
。在我使用带@ModelAttribute
注释的方法填充Group
:
@ModelAttribute("group")
public Group setGroup(Long id) {
if (id != null) {
return groupService.read(id);
} else {
return new Group();
}
}
现在我想使用ConvertionService
来填充对象。我写了GroupConverter
并对其进行了配置。但我无法让它发挥作用。
这是我正在尝试做的事情:
@RequestMapping("/edit")
public ModelAndView addAndEditGroup(Group group) {
ModelAndView modelAndView = new ModelAndView("groups/edit");
modelAndView.addObject("specialties", specialtyService.list()).addObject("group", group);
return modelAndView;
}
(这不适用于编辑 - 它只会填充id
字段)
@RequestMapping("/edit")
public ModelAndView addAndEditGroup(@RequestParam("id") Group group) {
// same code
}
(这不适用于添加 - 它表示未找到请求参数id
)
答案 0 :(得分:1)
您可以尝试提供默认的@RequestParam
值,例如:
@RequestParam(value = "id", defaultValue = "0")
这样做,您只需要检查值是0
而不是null
。
我希望能帮助你。