SpringMVC的视图 SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 SpringMVC视图的种类很多,默认有转发和重定向视图 当工程引入jstl的依赖,转发视图会自动转换成JstlView 若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器, 由此视图解析器解析之后所得到的是ThymeleafView 1.ThymeleafView 当控制器方法中所设置的视图名称没有任何前缀,此时视图名称就会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现跳转。 2.转发视图 SpringMVC中默认的转发视图是:InternalResourceView SpringMVC中创建转发视图的情况: 当控制器方法中所设置的视图名称以“forward:”为前缀时,创建InternalResourceView视图, 此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀“forward:”去掉,剩余的部分作为最终路径通过转发的方式实现跳转 3.重定向视图 SpringMVC中默认的重定向视图是:RedirectView 当控制器方法中所设置的视图名称以“redirect:”为前缀时,创建RedirectView视图, 此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀“redirect:”去掉,剩余的部分作为最终路径通过转发的方式实现跳转 代码测试:
package com.atguigu.mvc.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* SpringMVC的视图
*
* SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户
*
* SpringMVC视图的种类很多,默认有转发和重定向视图
*
* 当工程引入jstl的依赖,转发视图会自动转换成JstlView
*
* 若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,
* 由此视图解析器解析之后所得到的是ThymeleafView
*
*
* 1.ThymeleafView
* 当控制器方法中所设置的视图名称没有任何前缀,此时视图名称就会被SpringMVC配置文件中所配置的视图解析器
* 解析,视图名称拼接视图前缀和视图后缀所得到的最终路径,会通过转发的方式实现跳转。
*
* 2.转发视图
* SpringMVC中默认的转发视图是:InternalResourceView
* SpringMVC中创建转发视图的情况:
* 当控制器方法中所设置的视图名称以“forward:”为前缀时,创建InternalResourceView视图,
* 此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀“forward:”去掉,
* 剩余的部分作为最终路径通过转发的方式实现跳转
*
* 3.重定向视图
* SpringMVC中默认的重定向视图是:RedirectView
* 当控制器方法中所设置的视图名称以“redirect:”为前缀时,创建RedirectView视图,
* 此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀“redirect:”去掉,
* 剩余的部分作为最终路径通过转发的方式实现跳转
*
* @author ***
* @create 2022-05-20 16:03
*/
@Controller
public class ViewController {
@RequestMapping("/testThymeleafView")
public String testThymeleafView(){
return "success";
}
@RequestMapping("/testForward")
public String testForward(){
return "forward:/testThymeleafView";
}
@RequestMapping("/testRedirect")
public String testRedirect(){
return "redirect:/testThymeleafView";
}
}
效果演示:
1.
2.
3.