最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot整合Thymeleaf引入公共的CSS和JS文件的方法及注意點(diǎn)

 更新時間:2024年06月21日 09:23:56   作者:specialHeych  
有時候很多css文件是公共的,我們必須要在每個html文件中引入它們,下面這篇文章主要給大家介紹了關(guān)于Springboot整合Thymeleaf引入公共的CSS和JS文件的方法及注意點(diǎn),需要的朋友可以參考下

最近想搭建一個簡單的web網(wǎng)站,以便以后接點(diǎn)私活,所以首先考慮單機(jī)模式下的框架搭建,分布式的框架相對前段搭建成本有點(diǎn)高,另外暫時對前端代碼不是很熟悉,所以采用了SpringBoot搭配Thymeleaf模版的開發(fā)模式,開發(fā)過程中想把共通的CSS和JS文件放在一個共通的base.html下,所以根據(jù)網(wǎng)上的說明,自己也研究了一陣子,代碼如下,親測好用。

HTML的文件目錄如下:signIn.html為我的登錄頁面,base.html為我的共通的文件

base.html代碼如下:

title和links是以變量的形式傳入的,因為每個引入base.html的頁面的Title和css需要自定義,所以留有變量

注意:application.yml下需要追加如下配置:

mvc:
  static-path-pattern: /static/**
  view:
    prefix: classpath:/templates/
    suffix: .html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" lang="en">
<head th:fragment="common_header(title,links)">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- Google Font: Source Sans Pro -->
    <link rel="stylesheet"
           rel="external nofollow" >
    <!-- Font Awesome -->
    <link rel="stylesheet" th:href="@{../../static/plugins/fontawesome-free/css/all.min.css}" rel="external nofollow" >
   <!-- Theme style -->
    <link rel="stylesheet" th:href="@{../../static/dist/css/adminlte.min.css}" rel="external nofollow" >
    <!-- jQuery -->
    <script type="text/javascript"  th:src="@{../../static/plugins/jquery/jquery.min.js}"></script>
    <!-- jQuery UI 1.11.4 -->
    <script type="text/javascript"  th:src="@{../../static/plugins/jquery-ui/jquery-ui.min.js}"></script>
    <!-- Bootstrap 4 -->
    <script type="text/javascript"  th:src="@{../../static/plugins/bootstrap/js/bootstrap.bundle.min.js}"></script>
    <!-- AdminLTE App -->
    <script type="text/javascript"  th:src="@{../../static/dist/js/adminlte.min.js}"></script>
    <!-- DataTables  & Plugins -->
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables/jquery.dataTables.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-bs4/js/dataTables.bootstrap4.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-responsive/js/dataTables.responsive.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-responsive/js/responsive.bootstrap4.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-buttons/js/dataTables.buttons.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-buttons/js/buttons.bootstrap4.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/jszip/jszip.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/pdfmake/pdfmake.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-buttons/js/buttons.html5.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-buttons/js/buttons.print.min.js}"></script>
    <script type="text/javascript"  th:src="@{../../static/plugins/datatables-buttons/js/buttons.colVis.min.js}"></script>
</head>
</html>

signIn.html的代碼如:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" lang="en">
<!--需要添加此行標(biāo)注為thymeleaf模板 -->
<head th:replace="common/base :: common_header(~{::title},~{})">
    <title>Sign In</title>
</head>

需要注意點(diǎn):

1.是這里base是沒有后綴html的

2.這里的title需要自定義,但是css文件不需要所以格式為:

common_header(~{::title},~{})

如果css也需要自定義的話格式為:

common_header(~{::title},~{::link})

附:不能引用最可能的原因

SpringBoot項目的所有文件都必須要編譯到target文件夾下才能運(yùn)行,因此首先檢查你的target目錄下有沒有靜態(tài)資源。

如果這里根本就沒有靜態(tài)資源,自然肯定不能引用了。

是什么原因?qū)е聇arget/classes文件夾下沒有靜態(tài)資源的呢?

最可能的原因就是在項目的pom文件中,你沒有指明要將.css、.js等這些文件編譯進(jìn)target文件夾中。必須要申明,這些文件才會被正確編譯進(jìn)去。

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.*</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.yml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

這里申明了,resources目錄下,**/*.*類型的文件將被編譯進(jìn)target/classes文件夾,也即是所有的文件,因此.css和.js類的文件就可以正確的編譯進(jìn)去。

如果改成如下這樣:

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.yml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.properties</include>
                <include>**/*.xml</include>
                <include>**/*.yml</include>
            </includes>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

代表只將resources下的.properties文件、.xml文件、.yml文件編譯進(jìn)去target/classes文件夾,自然就沒有靜態(tài)資源了,就沒法引用了。編譯得到的target文件夾如下:

可以看到,按照如上pom文件,編譯得到的target/classes文件夾下根本就沒有靜態(tài)資源,不可能引用成功。

總結(jié)

到此這篇關(guān)于Springboot整合Thymeleaf引入公共的CSS和JS文件的方法及注意點(diǎn)的文章就介紹到這了,更多相關(guān)Springboot引入公共CSS和JS文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot集成WebService(wsdl)實(shí)踐

    SpringBoot集成WebService(wsdl)實(shí)踐

    文章介紹了Spring Boot項目中通過緩存IWebService接口實(shí)現(xiàn)類的泛型入?yún)㈩愋?減少反射調(diào)用提升性能的實(shí)現(xiàn)方案,包含依賴配置、工具類封裝、接口定義及soapUI調(diào)用參數(shù)說明
    2025-09-09
  • IDEA開啟Run Dashboard的幾種方式

    IDEA開啟Run Dashboard的幾種方式

    Run Dashboard 是 IntelliJ IDEA 中的一個工具窗口,用于管理和監(jiān)視項目中正在運(yùn)行的應(yīng)用程序和配置,它提供了一種集中管理運(yùn)行和調(diào)試過程的方式,本文給大家介紹了IDEA開啟Run Dashboard的幾種方式,需要的朋友可以參考下
    2024-03-03
  • Java面試題沖刺第三天--集合框架篇

    Java面試題沖刺第三天--集合框架篇

    這篇文章主要為大家分享了最有價值的三道java面試題,涵蓋內(nèi)容全面,包括數(shù)據(jù)結(jié)構(gòu)和算法相關(guān)的題目、經(jīng)典面試編程題等,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java樹形結(jié)構(gòu)遞歸查詢方式

    Java樹形結(jié)構(gòu)遞歸查詢方式

    文章介紹了Java中實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢的方法,首先找出所有的根節(jié)點(diǎn),然后通過循環(huán)遍歷根節(jié)點(diǎn),找到每個根節(jié)點(diǎn)的子節(jié)點(diǎn),最終構(gòu)建完整的樹形結(jié)構(gòu),這是一種有效的遞歸查詢思路,適用于需要層次化展示數(shù)據(jù)的場景
    2024-12-12
  • java更改圖片大小示例分享

    java更改圖片大小示例分享

    這篇文章主要介紹了java更改圖片大小示例,方法中指定路徑 ,舊文件名稱 ,新文件名稱,n 改變倍數(shù)就可以完成更改圖片大小,需要的朋友可以參考下
    2014-03-03
  • Java中判斷字符串是否相等的實(shí)現(xiàn)

    Java中判斷字符串是否相等的實(shí)現(xiàn)

    這篇文章主要介紹了Java中判斷字符串是否相等的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 詳解Java中綴表達(dá)式的實(shí)現(xiàn)

    詳解Java中綴表達(dá)式的實(shí)現(xiàn)

    中綴表達(dá)式是一個通用的算術(shù)或邏輯公式表示方法。,中綴表達(dá)式不容易被計算機(jī)解析,但仍被許多程序語言使用,因為它符合人們的普遍用法。本文介紹了實(shí)現(xiàn)中綴表達(dá)式的方法,需要的可以參考一下
    2022-07-07
  • 分享一個簡單的java爬蟲框架

    分享一個簡單的java爬蟲框架

    這篇文章主要介紹了分享一個簡單的java爬蟲框架,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • 一篇文章教你如何在SpringCloud項目中使用OpenFeign

    一篇文章教你如何在SpringCloud項目中使用OpenFeign

    這篇文章主要介紹了SpringCloud 使用Open feign 優(yōu)化詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-08-08
  • 深入剖析Java ReentrantLock的源碼

    深入剖析Java ReentrantLock的源碼

    ReentrantLock和Synchronized都是Java開發(fā)中最常用的鎖,與Synchronized這種JVM內(nèi)置鎖不同的是,ReentrantLock提供了更豐富的語義。本文就來深入剖析一下ReentrantLock源碼,需要的可以參考一下
    2022-11-11

最新評論

大丰市| 察隅县| 美姑县| 宁夏| 城口县| 明溪县| 馆陶县| 霍城县| 黄梅县| 鹰潭市| 邯郸县| 上虞市| 竹溪县| 南部县| 营山县| 安丘市| 西华县| 肥城市| 拜泉县| 哈密市| 庆阳市| 青海省| 莱州市| 抚顺市| 济源市| 黎城县| 苗栗市| 安仁县| 韶关市| 镶黄旗| 石门县| 临城县| 长武县| 甘泉县| 攀枝花市| 蒙山县| 大新县| 尚志市| 宁陕县| 津市市| 开江县|