SpringBoot項(xiàng)目中的視圖解析器問(wèn)題(兩種)
前言:SpringBoot官網(wǎng)推薦使用HTML視圖解析器,但是根據(jù)個(gè)人的具體業(yè)務(wù)也有可能使用到JSP視圖解析器,所以這里我給大家簡(jiǎn)單介紹一下這兩種視圖解析器的具體使用
一、解析成JSP頁(yè)面
1.在pom.xml文件中添加相關(guān)依賴
<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
注:如果是使用官網(wǎng)的SpringBoot項(xiàng)目,這里可能出現(xiàn)一個(gè)小問(wèn)題,如果不借助任何模板引擎( thymeleaf )的話,JSP頁(yè)面放在resources目錄下(包括缺省的幾個(gè)子目錄)是訪問(wèn)不到的!,那么這時(shí)候就得自己配置一個(gè)目錄去存放JSP頁(yè)面
解決方案:
(1)可以在resources目錄下新建一個(gè) META-INF 目錄,然后在 META-INF 目錄下創(chuàng)建一個(gè)resources目錄,然后把需要的jsp頁(yè)面放在這個(gè)目錄下面,接著在application.properties 配置文件中配置一下訪問(wèn)路徑,就可以訪問(wèn)到j(luò)sp文件了:


(2)在 resources 目錄同級(jí)別的目錄下面創(chuàng)建 webapp 目錄,然后把需要的jsp頁(yè)面放在webapp目錄下面,也是可以訪問(wèn)的:


(3)經(jīng)過(guò)測(cè)試發(fā)現(xiàn),如果以上兩個(gè)目錄都存在,優(yōu)先訪問(wèn)的是與resources目錄同級(jí)別的webapp目錄下的jsp頁(yè)面:


(4)使用模板引擎 thymeleaf 來(lái)測(cè)試一下直接放在 resources 目錄下的templates 目錄下的jsp頁(yè)面:
1)在pom.xml中配置模板引擎thymeleaf 依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2)在 application.properties 文件中配置 thymeleaf 相關(guān)屬性值,最后在 templates 目錄下創(chuàng)建 jsp文件就可以了:


二、解析成HTML頁(yè)面
1.在pom.xml中引入模板引擎 thymeleaf依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2.在 application.properties 文件中配置 thymeleaf 相關(guān)屬性值,最后在 templates 目錄下創(chuàng)建html文件就可以了:


三、總結(jié)
當(dāng)JSP視圖解析器與模板引擎thymeleaf共存的時(shí)候,SpringBoot會(huì)默認(rèn)解析模板引擎thymeleaf的配置。在模板引擎thymeleaf的配置中,如果都不配置的話,會(huì)默認(rèn)解析templates目錄下的HTML文件,即默認(rèn)前綴為"/templates/",默認(rèn)后綴為".html",最后強(qiáng)調(diào)一點(diǎn),在SpringBoot中,根據(jù)官網(wǎng)推薦,我們最好使用模板引擎和HTML頁(yè)面來(lái)編寫(xiě)代碼!
到此這篇關(guān)于SpringBoot項(xiàng)目中的視圖解析器問(wèn)題(兩種)的文章就介紹到這了,更多相關(guān)SpringBoot 視圖解析器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring AOP如何在注解上使用SPEL表達(dá)式注入對(duì)象
這篇文章主要介紹了Spring AOP如何在注解上使用SPEL表達(dá)式注入對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解
這篇文章主要介紹了Spring Cloud Eureka 注冊(cè)與發(fā)現(xiàn)操作步驟詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Java動(dòng)態(tài)線程池插件dynamic-tp集成zookeeper
ZooKeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和Hbase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等2023-03-03
Java中生成不重復(fù)隨機(jī)數(shù)的四種方法舉例詳解
在Java編程中獲取隨機(jī)數(shù)是常見(jiàn)的需求,這篇文章主要介紹了Java中生成不重復(fù)隨機(jī)數(shù)的四種方法,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
關(guān)于Android觸摸事件分發(fā)的原理詳析
觸摸事件分發(fā)機(jī)制一直以來(lái)都是Android中比較重要的一大塊,自定義view,各種復(fù)雜的自定義手勢(shì)交互都與觸摸事件分發(fā)機(jī)制關(guān)系密,下面這篇文章主要給大家介紹了關(guān)于Android觸摸事件分發(fā)原理的相關(guān)資料,需要的朋友可以參考下2022-01-01
Java并發(fā) synchronized鎖住的內(nèi)容解析
這篇文章主要介紹了Java并發(fā) synchronized鎖住的內(nèi)容解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
java判斷今天,昨天,前天,不能用秒間隔的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇java判斷今天,昨天,前天,不能用秒間隔的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
SpringBoot整合aop面向切面編程過(guò)程解析
這篇文章主要介紹了SpringBoot整合aop面向切面編程過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Dom4j解析XML_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Dom4j解析XML,dom4j是一個(gè)Java的XML API,類(lèi)似于jdom,用來(lái)讀寫(xiě)XML文件的,有興趣的可以了解一下2017-07-07

