SpringBoot项目中的视图解析器问题(两种)

 更新时间:2020年06月09日 09:40:15   作者:秋风不识路  
SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以本文介绍了两种视图解析器,感兴趣的可以了解下

前言:SpringBoot官网推荐使用HTML视图解析器,但是根据个人的具体业务也有可能使用到JSP视图解析器,所以这里我给大家简单介绍一下这两种视图解析器的具体使用

一、解析成JSP页面

1.在pom.xml文件中添加相关依赖

	<dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>javax.servlet-api</artifactId>  
    </dependency>
    
    <dependency>
       <groupId>javax.servlet</groupId>
       <artifactId>jstl</artifactId>
    </dependency>
    
    <!-- tomcat的支持-->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
    </dependency>  

2.在application.properties配置文件中配置前缀与后缀

spring.mvc.view.prefix=/jsp/ 
spring.mvc.view.suffix=.jsp

注:如果是使用官网的SpringBoot项目,这里可能出现一个小问题,如果不借助任何模板引擎( thymeleaf )的话,JSP页面放在resources目录下(包括缺省的几个子目录)是访问不到的!,那么这时候就得自己配置一个目录去存放JSP页面

解决方案:

(1)可以在resources目录下新建一个 META-INF 目录,然后在 META-INF 目录下创建一个resources目录,然后把需要的jsp页面放在这个目录下面,接着在application.properties 配置文件中配置一下访问路径,就可以访问到jsp文件了:



(2)在 resources 目录同级别的目录下面创建 webapp 目录,然后把需要的jsp页面放在webapp目录下面,也是可以访问的:



(3)经过测试发现,如果以上两个目录都存在,优先访问的是与resources目录同级别的webapp目录下的jsp页面:



(4)使用模板引擎 thymeleaf 来测试一下直接放在 resources 目录下的templates 目录下的jsp页面:

1)在pom.xml中配置模板引擎thymeleaf 依赖

	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

2)在 application.properties 文件中配置 thymeleaf 相关属性值,最后在 templates 目录下创建 jsp文件就可以了:



二、解析成HTML页面

1.在pom.xml中引入模板引擎 thymeleaf依赖

<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

2.在 application.properties 文件中配置 thymeleaf 相关属性值,最后在 templates 目录下创建html文件就可以了:



三、总结

当JSP视图解析器与模板引擎thymeleaf共存的时候,SpringBoot会默认解析模板引擎thymeleaf的配置。在模板引擎thymeleaf的配置中,如果都不配置的话,会默认解析templates目录下的HTML文件,即默认前缀为"/templates/",默认后缀为".html",最后强调一点,在SpringBoot中,根据官网推荐,我们最好使用模板引擎和HTML页面来编写代码!

到此这篇关于SpringBoot项目中的视图解析器问题(两种)的文章就介绍到这了,更多相关SpringBoot 视图解析器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Spring AOP如何在注解上使用SPEL表达式注入对象

    Spring AOP如何在注解上使用SPEL表达式注入对象

    这篇文章主要介绍了Spring AOP如何在注解上使用SPEL表达式注入对象,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Spring Cloud Eureka 注册与发现操作步骤详解

    Spring Cloud Eureka 注册与发现操作步骤详解

    这篇文章主要介绍了Spring Cloud Eureka 注册与发现操作步骤详解,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • Java动态线程池插件dynamic-tp集成zookeeper

    Java动态线程池插件dynamic-tp集成zookeeper

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等
    2023-03-03
  • RocketMQ源码本地搭建调试方法

    RocketMQ源码本地搭建调试方法

    这篇文章主要介绍了RocketMQ源码本地搭建调试,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-01-01
  • Java中生成不重复随机数的四种方法举例详解

    Java中生成不重复随机数的四种方法举例详解

    在Java编程中获取随机数是常见的需求,这篇文章主要介绍了Java中生成不重复随机数的四种方法,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • 关于Android触摸事件分发的原理详析

    关于Android触摸事件分发的原理详析

    触摸事件分发机制一直以来都是Android中比较重要的一大块,自定义view,各种复杂的自定义手势交互都与触摸事件分发机制关系密,下面这篇文章主要给大家介绍了关于Android触摸事件分发原理的相关资料,需要的朋友可以参考下
    2022-01-01
  • Java并发 synchronized锁住的内容解析

    Java并发 synchronized锁住的内容解析

    这篇文章主要介绍了Java并发 synchronized锁住的内容解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • java判断今天,昨天,前天,不能用秒间隔的简单实例

    java判断今天,昨天,前天,不能用秒间隔的简单实例

    下面小编就为大家带来一篇java判断今天,昨天,前天,不能用秒间隔的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • SpringBoot整合aop面向切面编程过程解析

    SpringBoot整合aop面向切面编程过程解析

    这篇文章主要介绍了SpringBoot整合aop面向切面编程过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • Dom4j解析XML_动力节点Java学院整理

    Dom4j解析XML_动力节点Java学院整理

    这篇文章主要介绍了Dom4j解析XML,dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的,有兴趣的可以了解一下
    2017-07-07

最新评论