0

我有处理 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未找到请求参数)

4

1 回答 1

1

您可以尝试提供默认@RequestParam值,例如:

@RequestParam(value = "id", defaultValue = "0") 

这样做你只需要检查 value 是否是0而不是null.

我希望这对你有帮助。

于 2013-05-26T20:01:05.953 回答