SpringMVC的视图

   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.

 

 


版权声明:本文为qq_56851614原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。