thymeleaf引入公共css、js

  有时候很多css文件是公共的,我们必须要在每个html文件中引入它们,其实我们可以利用Thymeleaf的模板布局,把这些css文件抽出来,同时如果有某个html文件专属的css文件,还可在引入模板的基础上单独引入该css文件。

首先,建立一个公共文件layout.html

 1 <!DOCTYPE html>
 2 <html xmlns:th="http://www.thymeleaf.org">
 3 <head th:fragment="common_head(title,links)">
 4     <meta charset="UTF-8">
 5     <title th:replace="${title}">CSDN博客</title>
 6     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
 7     <link rel="shortcut icon" th:href="@{/resources/images/logo_ico_16.ico}" />
 8     <link rel="stylesheet" th:href="@{/resources/css/index.css}"/>
 9     <link rel="stylesheet" th:href="@{/resources/iconfont/iconfont.css}">
10     <link rel="stylesheet" th:href="@{/resources/css/common.css}"/>
11     <th:block th:replace="${links}" />
12 </head>
13 <body>
14
15 </body>
16 </html>

  上面的“<head th:fragment="common_head(title,links)">”即为定义好的css模板,其中title和links为两个动态传入的变量,而th:block会在links值为空时自动隐藏,这样就可以实现除了css模板中的css文件之外,需要再单独引入css和不需要引入单独css两种情况。使用方法如下:

一、需要单独引入css

在实际的html文件中加入:

<head th:replace="layout :: common_head(~{::title},~{::link})">
    <title>测试公共css引入</title>
    <link rel="stylesheet" th:href="@{/resources/css/detail.css}"/>
    <link rel="stylesheet" th:href="@{/resources/css/profile.css}"/>
</head>

其中的title会自动将css模板中的title替换,而里面的多个link标签(只有一个link标签也可)也会替换th:block标签

二、不需要单独引入css

在实际的html文件中加入:

<head th:replace="layout :: common_head(~{::title},~{})">
    <title>测试公共css引入</title>
</head>

这种情况其实就是将传入的第二个变量置为空

但是这两种情况title都是必须的

原文地址:https://www.cnblogs.com/zsh-blogs/p/11005844.html

时间: 2024-10-21 15:37:24

thymeleaf引入公共css、js的相关文章

thymeleaf引入公共页面的某个片段

引入公共片段引入公共片段的th属性,包括三种方式 th:insert将公共片段,整个插入到声明引入的元素中 th:replace将声明引入的元素,替换为公共片段 th:include将被引入的片段的内容,包含进这个标签中 抽取公共片段 <footer th:fragment="copy">  2011 </footer> 引入方式 1 <div th:insert="footer :: copy"></div> 2 &

vue 引入通用 css

1.在入口 js 文件 main.js 中引入,一些公共的样式文件,可以在这里引入. import Vue from 'vue' import App from './App' // 引入App这个组件 import router from './router' /* 引入路由配置 */ import axios from 'axios' import '../static/css/global.css' /*引入公共样式*/ 2.在 index.html 中引入,这个不说了: 3.在 app.

WordPress引入css/js方法总结

WordPress引入css/js方法很多,条件很多.如何全局加载,或仅在某些页面精准加载,什么时候需要先注册脚本再加载,本文希望找到最简单的方式,并给出探索更多方法的途径. 在前台加载css/js 用wp_enqueue_script()函数加载js,用wp_enqueue_style()加载css,加载资源的位置(action)只有一个——wp_enqueue_scripts. 用wp_enqueue_系列函数可以更好的处理脚本样式表的依赖关系,防止重复加载,以twentyfifteen主题

springMvc整合Freemarker引入CSS,JS文件404的问题

在spring webmvcjar包中有个spring.ftl的文件 如下图: 你可以把他拷出来,放到你的目录下,也可以不拷出来,具体的用法就是 在你的freemaker模版开头加上 <#import "spring.ftl" as spring/> 如果你烤出了spring.ftl文件,像找存在感的话,比如拷到 当前项目路径的plugins文件下 那么就加上这个路径就好了<#import "plugins/spring.ftl" as sprin

WordPress引入css/js两种方法

WordPress引入css/js 是我们制作主题时首先面对的一个难点,任何一款主题都要加载自己的css,js,甚至很有可能还需要加载Jquery文件,网上方法特多,说法不一,我们今天借鉴wordpress官方最新的twentysixteen主题来学习总结一下WordPress引入css/js各种常用方法,以及最优化的加载方法. 其实网上的N种方法总结起来就两种:一.模板文件header.php中直接引入文件二.在主题的functions.php中通过WP自带的函数wp_enqueue_scri

HBuilder+移动APP开发实例选择模版 这里选择mui项目,会自动引入mui的js和css,如下:

mui: 官网:http://dcloudio.github.io/mui/ 说明:一般要把官网内容通读一遍,这是开发的基础 开始 1.新建项目 在首页点击新建移动App,如下: 或者在项目管理器内右键新建,或者快捷键ctrl+n+a        2.选择模版 这里选择mui项目,会自动引入mui的js和css,如下: 3.文件结构 默认有以下几个文件夹:css,fonts,js,如下 基础开发    代码如下: 1 <!DOCTYPE html> 2 <html> 3 <

vue中引入外部文件js、css、img的方法

第一种方法,直接放到相对路径下,位置:./static/js/main.js,./static/css/main.css,./static/img/test.png 第二种方式: ES6的import方式引入,被引入文件test.js尾部加入 export default {    fn   }  //fn是被引入的方法:在main.js引入  import test from './assets/js/test.js'       Vue.prototype.$test= test; 全局引入

wordpress主题制作:引入外部CSS样式文件和JS脚本文件

wordpress不建议修改模板文件header.php引入样式文件和JS文件,建议通过wp_head()和wp_footer()函数引入相关的内容. 一.显示标题 二.通过'wp_enqueue_scripts'引入scripts and styles 三.通过add_action()的"wp_head"钩子 以2019主题为例,在functons.php中相关的代码: 一.显示标题 在twentynineteen_setup()中, add_theme_support( 'titl

thymeleaf引用公共页面

本例采用的是Springboot+thymeleaf,因为公共页面属于动态页,因此需要放在templates目录下(具体几层自定义即可),我们这里做一个引用头部.主体和底部公共信息的示例 1. 公共信息页面 head.html,使?th:fragment 属性来定义被包含的模版?段,以供其他模版引用或者包含,这里我们定义了头部(admin_head(title)).主体(admin_common).底部(admin_bottom)三个模板片段 <!DOCTYPE html> <html&