SpringMVC视图作用详解

 更新时间:2022年11月08日 08:51:12   作者:学习使我快乐T  
这篇文章主要介绍了springMVC中的视图与视图解析器,springMVC视图的种类很多,默认有转发视图和重定向视图,本文就每一种视图给大家详细介绍,需要的朋友可以参考下

SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户

SpringMVC视图的种类很多,默认有转发视图和重定向视图

当工程引入jstl的依赖,转发视图会自动转换为JstlView

若使用的视图技术为Thymeleaf,在SpringMVC的配置文件中配置了Thymeleaf的视图解析器,由此视 图解析器解析之后所得到的是ThymeleafView

一、ThymeleafView

当控制器方法中所设置的视图名称没有任何前缀时,此时的视图名称会被SpringMVC配置文件中所配置的视图解析器解析,视图名称拼接视图前缀和视图

后缀所得到的最终路径,会通过转发的方式实现跳转

<a th:href="@{/test/view/thymeleaf}" rel="external nofollow" >测试SpringMVC的视图ThymeleafView</a>
@Controller
public class TestViewController {
    @RequestMapping("/test/view/thymeleaf")
    public String testThymeleafView() {
        return "success";
    }
}

二、转发视图

通过ThymeleafView转发是可以进行页面渲染的,但是通过InternalResourceView转发的页面跳转只能实现一个简单的转发,页面中的Thymeleaf语法解析不了。所以这种方式我们不常用

SpringMVC中默认的转发视图是InternalResourceView

SpringMVC中创建转发视图的情况:

当控制器方法中所设置的视图名称以"forward:"为前缀时,创建InternalResourceView视图,此时的视图名称不会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"forward:"去掉,剩余部 分作为最终路径通过转发的方式实现跳转

例如"forward:/","forward:/employee"

<a th:href="@{/test/view/forward}" rel="external nofollow" >测试SpringMVC的视图InternalResourceView</a>
    @RequestMapping("/test/view/forward")
    public String testInternalResourceView() {
        return "forward:/test/model";
    }

三、重定向视图

SpringMVC中默认的重定向视图是RedirectView

当控制器方法中所设置的视图名称以"redirect:"为前缀时,创建RedirectView视图,此时的视图名称不 会被SpringMVC配置文件中所配置的视图解析器解析,而是会将前缀"redirect:"去掉,剩余部分作为最终路径通过重定向的方式实现跳转

例如"redirect:/","redirect:/employee"

<a th:href="@{/test/view/redirect}" rel="external nofollow" >测试SpringMVC的视图RedirectView</a><br>
    @RequestMapping("test/view/redirect")
    public String testRedirectView() {
        return "redirect:/test/model";
    }

四、视图控制器view-controller

当控制器方法中,仅仅用来实现页面跳转,即只需要设置视图名称时,可以将处理器方法使用view-controller标签进行表示

注:

当SpringMVC中设置任何一个view-controller时,其他控制器中的请求映射将全部失效,此时需 要在SpringMVC的核心配置文件中设置开启mvc注解驱动的标签:

<mvc:annotation-driven />

    <!--开启mvc的注解驱动-->
    <mvc:annotation-driven />
    <!--
    视图控制器:为当前的请求直接设置视图名称实现页面跳转
    若设置视图控制器,则只有视图控制器所设置的请求会被处理,其他的请求将全部404
    此时必须在配置一个标签:<mvc:annotation-driven />
    -->
    <mvc:view-controller path="/" view-name="index"></mvc:view-controller>

到此这篇关于SpringMVC视图作用详解的文章就介绍到这了,更多相关SpringMVC视图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java 接口和抽象类的区别详解

    Java 接口和抽象类的区别详解

    在面向对象编程中,抽象类和接口是两个经常被用到的语法概念,是面向对象四大特性,以及很多设计模式、设计思想、设计原则编程实现的基础。本文将主要讲解二者的区别
    2021-05-05
  • Spring学习笔记3之消息队列(rabbitmq)发送邮件功能

    Spring学习笔记3之消息队列(rabbitmq)发送邮件功能

    这篇文章主要介绍了Spring学习笔记3之消息队列(rabbitmq)发送邮件功能的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • 在IntelliJ IDEA中多线程并发代码的调试方法详解

    在IntelliJ IDEA中多线程并发代码的调试方法详解

    这篇文章主要介绍了在IntelliJ IDEA中多线程并发代码的调试方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • J2EE项目代码编写规范分享

    J2EE项目代码编写规范分享

    这篇文章主要介绍了J2EE项目代码编写规范分享,需要的朋友可以参考下
    2014-10-10
  • 自定义SpringBoot的白标错误页面的操作方法

    自定义SpringBoot的白标错误页面的操作方法

    Spring Boot的白标错误页面是在应用程序出现错误时(如404或500 HTTP状态码)自动生成的默认错误页面,下面小编给大家分享如何自定义SpringBoot的白标错误页面,感兴趣的朋友跟随小编一起看看吧
    2024-06-06
  • SpringBoot整合PageHelper分页无效的常见原因分析

    SpringBoot整合PageHelper分页无效的常见原因分析

    这篇文章主要介绍了SpringBoot整合PageHelper分页无效的常见原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 教你怎么用Java操作Redis

    教你怎么用Java操作Redis

    今天带大家来学习怎么用Java操作Redis,文中有非常详细的介绍,对正在学习java的小伙伴们有很好的帮助,建议有redis基础并熟悉redis的基本数据类型命令的小伙伴学习,需要的朋友可以参考下
    2021-05-05
  • Java单例模式的创建,破坏和防破坏详解

    Java单例模式的创建,破坏和防破坏详解

    大家所熟知的单例模式只能创建唯一一个实例,今天我们介绍几种常见的单例模式,同时说一说如何破坏单例模式,同时又怎么来防破坏
    2021-09-09
  • Spring容器刷新obtainFreshBeanFactory示例详解

    Spring容器刷新obtainFreshBeanFactory示例详解

    这篇文章主要为大家介绍了Spring容器刷新obtainFreshBeanFactory示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • Java类和成员上的一些方法实例代码

    Java类和成员上的一些方法实例代码

    这篇文章主要介绍了Java类和成员上的一些方法实例代码,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论