我在 Spring 的控制器 @ResponseBody 中有一个方法并更新模型
@SessionAttribute ("myModel")
...
@RequestMapping(value = "addPoint", method = RequestMethod.POST)
public @ResponseBody String addImgProvOption(
@RequestParam("iRow") int iRow,
@RequestParam("point") String point,
@RequestParam("size") String size,
@RequestParam("side") String side,
@RequestParam("type") String type,
@RequestParam("percentage") String percentage,
@ModelAttribute("myModel") MyModel myModel,
Model model)
{
OptionsRow userRow = new OptionsRow (point,size,side, type, 25);
myModel.addOptionsRow (userRow, 0);
model.addAttribute("myModel", myModel);
return "addPoint"";
}
}
这样做的问题是,如果我离开 ResponseBody 标签,myModel 不会正确更新(我需要它,因为另一边的 AJAX 等待答案),我认为因为当使用 @ResponseBody 时,SessionAtributes 显然不起作用(因此我的更改丢失了)。使用 ResponseBody 时,在此方法之后,在需要“myModel”的地方实例化一个新的 MyModel 实例。
任何的想法?谢谢!