SprnigMVC中转发与重定向主要是通过Controller
的return
进行跳转,在SpringMVC中转发与重定向可单独跳转,也可以经过视图解析器,重定向(redirect
)是不经过视图解析器的
不经过视图解析器的转发重定向
转发(forward:)
@RequestMapping("/hello1")
public String forward(Model model){
model.addAttribute("msg1","转发成功");
return "forward:/WEB-INF/jsp/helloController.jsp";
}
重定向(redirect:),注意重定向是两次请求响应,所以如果设置了属性,在前端页面是取不出来的
@RequestMapping("/hello2")
public String redirect(){
return "redirect:http://www.baidu.com";
// 重定向到另一个资源处理
// return "redirect:/hello1";
}
经过视图解析的转发(ViewResolver会拼接前缀和后缀)
@RequestMapping("/hello")
public String Hello(Model model){
model.addAttribute("msg","helloController!");
return "helloController";
}