Spring 为什么我不能从被调用的方法添加到模型中?
当我这样做时:Spring 为什么我不能从被调用的方法添加到模型中?,spring,jsp,spring-mvc,Spring,Jsp,Spring Mvc,当我这样做时: @RequestMapping(value = "/something", method = RequestMethod.POST) public String stuff( @ModelAttribute("xxx") ReviewAB7500Data xxx, HttpServletRequest request, Model model) throws GeneralDAOException { model.addAttribute("somekey
@RequestMapping(value = "/something", method = RequestMethod.POST)
public String stuff(
@ModelAttribute("xxx") ReviewAB7500Data xxx,
HttpServletRequest request, Model model) throws GeneralDAOException {
model.addAttribute("somekey",someValue);
}
一切正常,我可以在JSP中看到我的对象。但当我这样改变它时:
private void someOtherMethod(Model model) {
model.addAttribute("somekey",someValue);
return;
}
@RequestMapping(value = "/something", method = RequestMethod.POST)
public String stuff(
@ModelAttribute("xxx") ReviewAB7500Data xxx,
HttpServletRequest request, Model model) throws GeneralDAOException {
someOtherMethod(model);
return viewName;
}
…名为somekey的addAttribute从未放在模型上,或者至少在我的JSP中不可见。这里有什么提示吗?我认为您需要为该方法添加一个额外的参数:
@RequestMapping(value = "/something", method = RequestMethod.POST)
public String stuff(@ModelAttribute("xxx") ReviewAB7500Data xxx,
BindingResult result,
HttpServletRequest request,
Model model) throws GeneralDAOException
我相信这应该很好。这听起来可能是一个愚蠢的问题,但其他方法到底是什么样的呢;一定是有别的东西改变了,或者你在向我们展示之前过度简化了这个例子。我必须同意上面的评论。简化逻辑时是否遗漏了一些内容?BindingResult仍然存在,仍然是相同的问题。