- 在SpringMVC中跳转的视图,取决于控制方法返回的视图名称,如果是使用modelandview,就是取决于setViewName
Thymeleaf视图
- 在SpringMVC中配置了Thymeleaf视图解析器
- 控制器方法中所设置的视图名称没有任何前缀时,视图名称会被Thymeleaf解析,就是加上前后缀
- 获得看完整的视图路径后,通过转发的形式跳转和渲染
InternalResouceView(转发视图)
- 只有单纯的转发效果,没有thymeleaf的渲染
- 使用方法是在视图名称上加前缀"forward:逻辑视图"
RedirectView(重定向视图)
- 在控制器方法中设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器所解析,而是将redirect后面的视图作为路径重定向跳转
- 重定向是会让浏览器再发一次请求的
- 重定向实现页面跳转会自动为/xxx路径加上上下文
视图控制器(view-controller)
- 当控制器方法中,仅仅用来实现页面跳转的时候,可以使用view-controller标签来表示,不用专门写个控制器方法了
- 在SpringMVC配置文件中配置
<!-- 开启注解驱动,它设置了,Dispacher才会处理除视图控制器请求外的请求-->
<mvn:annotation-driven></mvn:annotation-driven>
<!-- 通过标签为当前的请求设置视图名称实现页面跳转-->
<mvn:view-controller path="/" view-name="index"></mvn:view-controller>
<!-- 静态资源放行,因为Dispacherservlet处理不了静态资源,不然静态资源请求过来无法处理,放行交给默认的servlet处理,就是tomcat里的那个servlet-->
<mvc:default-servlet-handler/>