我的主要问题是返回一个字符串,其路径变量值从一个控制器返回到另一个控制器。
见这里:
@RequestMapping(value = "/profile/{location}")
public ModelAndView profile(@PathVariable("location") String location) throws Exception {
return new ModelAndView("profile", "*", *);
}
@RequestMapping(value = "/records", method = "RequestMethod.POST")
public String inRecords(@Valid User user, BindingResult result) {
if(result.hasErrors()) {
return "profile/system";
}
else {
.....
return "somewhere";
}
}
我的问题是返回“个人资料/系统”转到 WEB-INF / views / profile / system.jsp 。我是否在使用 @PathVariable 或使用return语句本身做错了什么?
有什么建议吗?
答案 0 :(得分:1)
为什么你不尝试这样的事情。
@RequestMapping(value = "/records", method = "RequestMethod.POST")
public void inRecords(@Valid User user, HttpServletResponse response) {
if(result.hasErrors()) {
response.sendRedirect("/YourApp/profile/system")
}
我认为ModelAndView正在获取返回的String并尝试运行试图获取jso的ViewResolver,避免调用或将请求直接重定向到所需的端点。
或者如果你想保持modelAndView使用这个
return new ModelAndView("redirect:/profile/system");