1. 请求转发
1.1. 返回String方式
1.1.1. 转发给另一个请求
1 |
|
1.1.2. 转发到指定jsp页面
不带forward前缀,直接返回字符串。该字符串会拼接视图解析器的前后缀,例如前缀是/WEB-INF/jsp,后缀是.jsp,那么success对应的页面是/WEB-INF/jsp/success.jsp1
2
3
4
5
6
7
8
public class HelloController {
("/hello1")
public String hello1() {
//
return "success";
}
}
如果设置了视图解析器,前缀是/WEB-INF/jsp,后缀是.jsp,但是你又想转发给/success.jsp,可以使用相对路径回退到上级目录1
2
3
4
5
6
7
8
public class HelloController {
("/hello1")
public String hello1() {
// 拼接得到 /WEB-INF/jsp/../../success.jsp,相当于/success.jsp
return "../../success";
}
}
也可以使用带forward前缀的形式,转发到指定jsp资源。注意这里不要使用forward:success,因为转发时不会加入视图解析器的前后缀。forward:success是一种相对路径的写法,当前映射是/hello1,那么相对路径success对应的绝对路径就是/success,即等价于forward:/success
1 |
|
2. 请求重定向
2.1. 返回String方式
在使用原生Servlet进行重定向时,路径要带上虚拟目录,但是SpringMVC不用,SpringMVC会自动帮你补全虚拟目录。注意,redirect也不会拼接视图解析器的前后缀
1 |
|