目前我只想测试从update方法重定向到sox方法。但相反,我收到错误抱怨缺少"update.jsp"
。
@RequestMapping(value = "/sox/update", method = RequestMethod.POST)
@ModelAttribute("formWrapper")
public final String update(HttpServletRequest request,
@ModelAttribute("formWrapper") FormWrapper formWrapper,
BindingResult bindResult,
ModelMap model)
{
return "redirect:/sox";
}
@ModelAttribute("formWrapper")
FormWrapper setupForm()
{
FormWrapper formWrapper = new FormWrapper();
return formWrapper;
}
@RequestMapping(value = "/sox", method = RequestMethod.GET)
public final String sox(HttpServletRequest request, ModelMap model)
{
return "sox";
}
答案 0 :(得分:0)
我认为您的问题是更新方法上的@ModelAttribute。试试这种方式:
@RequestMapping(value = "/sox/update", method = RequestMethod.POST)
public final String update(HttpServletRequest request,
@ModelAttribute("formWrapper") FormWrapper formWrapper,
BindingResult bindResult,
ModelMap model)
{
return "redirect:/sox";
}
将@ModelAttribute添加到方法spring时,将return视为模型属性:
考虑任何其他返回类型 是一个单一的模型属性 暴露在视野中,使用 通过指定的属性名称 方法级别的@ModelAttribute (或基于默认属性名称 在返回类型类名称上)。该 模型被隐含地丰富了 命令对象和结果 @ModelAttribute带注释的引用 数据访问方法。
查看Spring Docs的15.3.2.8以获取更多信息:(http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-ann -modelattrib)