在实际开发当中,有一些重复的内容必须提取出来,这样不仅页面布局合理,修改也会方便,改一处所有页面便都能得到改动。比如导航栏,底部版权声明等
在jsp中,一般使用jsp:include:xxx.jsp来实现这个功能,那在thymeleaf里怎么做呢
先说把所有html文件都引入进来的方法:
我把导航栏的html片段单独提了出来,如果想全部引用它,就在想引用的那个页面
写一个div,然后加上th:replace标签
<div th:replace="navbar :: html"></div>
内容写navbar :: html(这里注意,冒号冒号前后都有空格,我没注意这一点踩了大坑)
如果想引用一个html里的某个片段怎么办呢
在想引用的html的标签上打一个记号
<nav class="navbar navbar-inverse navbar-fixed-top" role="navigation" th:fragment="navbar">
这里的th:fragment 意思是给这块内容标记为navbar
要引用的话,就
<div th:replace="common :: navbar"></div>意思是引用templates/common.html中的navbar代码块