您好我是Spring MVC的新手我正在关注Spring参考文档我对视图解析器有疑问。这是我的示例代码。
@Controller
@RequestMapping("/form")
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public String setupForm() {
// do my stuff
return "myform";
}
@RequestMapping(method = RequestMethod.POST)
public String processForm(ModelMap model) {
// process form data
model.addAttribute("notification", "Successfully did it!");
return "redirect:/form";
}
}
这里我使用两个控制器,第一个返回"myform"
,第二个返回"redirect:/form"
。我的问题是,这两者之间有什么区别以及它是如何工作的?
答案 0 :(得分:-1)
如果你熟悉jsp servlet,我想你可以知道重定向和转发之间的区别,或者你可以从谷歌获得大量的答案。然后我想解释一下Spring是如何做到这一点的。在 setupForm 方法中,它返回myform,然后根据你的视图resovler配置,它将尝试查找myform.jsp或其他喜欢这个,如果你的视图resovler是 internalresourceviewresovler ,Spring将自动执行前向 并尝试在web-inf目录中找到此jsp,否则,您必须指定前向前缀。对于 processForm 方法,在返回重定向:/ form 后,它会强制浏览器向服务器发送新请求 / form 由spring mvc获得,它将使用相关方法处理它。