最近使用Thymeleaf写项目,在代码片段引用上碰到了问题
废话不多说,直接上代码,首先新建一个HTML片段命名为js.html
js.html内容如下:
<!-- jQuery文件。务必在bootstrap.min.js 之前引入 -->
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
然后,新建一个HTML文档,在文档中引入js.html片段
上代码,login.html
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>登录</title>
<link th:replace="pages/common/css" />
</head>
<body>
</body>
<div th:replace="pages/common/js" ></div>
<script>
$(function () {
alert(1);
});
</script>
</html>
为了讲解方便,先上一下工程结构图
工程中定义了两个代码片段,css.html和js.html,css片段提取了页面公共的css引入代码,js片段则提取了页面公共的js代码。然后在login.html文件中引入,上代码
<link th:replace="pages/common/css" />
<div th:replace="pages/common/js" ></div>
这两句代码是使用th:replace对片段的引入,需要注意的是:路径的根路径是templates/,加上pages/common/js就是templates/pages/common/js,文件名不需要写后缀,否则会报错。
这种方式是引用整个HTML文件,当然还可以引用文档中的一部分代码,见下篇吧