关键字 |
描述 |
forward: |
视图转发,获取视图参数${value} 可访问WEB-INF |
redirect: |
视图重定向,参数转换为get方式的明文链接,获取视图参数${param.value} 不可访问WEB-INF |
- 使用forward:和redirect:的路径都不会进过视图解析器处理
- forward:可以使界面转发到视图解析器扫描之外的目录下的视图
- redirect:可以使界面重定向到其他视图,并将简单类型数据作为字符串加入链接,以get方式传递参数到重定向界面
语法
forward:/path/index.jsp
示例
- MainController
@Controller
public class MainController {
@RequestMapping(value="forward")
public ModelAndView doForward(){
ModelAndView mav = new ModelAndView();
mav.setObject("name","zhangsan");
//转发到WEB-INF外的目录
mav.setViewName("forward:/hello.jsp")
return mav;
}
@RequestMapping(value="redirect")
public ModelAndView doRedirect(){
ModelAndView mav = new ModelAndView();
mav.addObject("name","zhangsan");
mav.setViewName("redirect:/show.jsp")
return mav;
}
}
- hello.jsp (http://localhost:8080/page/show)
<html>
<head>
<title></title>
</head>
<body>
<p>姓名:${name}</p>
</body>
</html>
<html>
<head>
<title></title>
</head>
<body>
<p>姓名:${param.name}</p>
<!-- <p>姓名:<%request.getParameter("name")%></p> -->
</body>
</html>