springboot:thymeleaf (1) 和adminlte的结合

标签(空格分隔): springboot thymeleaf adminlte 前端 后台 html渲染 模板库 layout

spring boot:用adminlte做前端 中提到过thymeleaf可以结合adminlte一起使用,本文做点简单的介绍

架构原理

这里不对thymeleaf本身的实现做说明,重点放在应用,只结合它在springmvc架构中的位置做点解释(关于springmvc的说明请参考我的 springboot : 深入浅出spring mvc)

springmvc architecture

thymeleaf就是上图中的一种view的实现,它可以把model中的东西渲染到html中(前提是html使用了thymeleaf的标签)

简单的例子

  1. 添加依赖
    pom.xml中添加以下依赖
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
             
                
        
            nz.net.ultraq.thymeleaf
            thymeleaf-layout-dialect
        

如果使用springboot 2以上,并且要用thymeleaf的layout(有人说layout是thymeleaf最重要的功能)功能,必须手工添加thymeleaf-layout-dialect依赖(很多教程都忽略了这点)

  1. 添加模板
    把基于adminlte的layout(layout.html, 参考 spring boot:用adminlte做前端)放到src\main\resources\templates 文件夹,
    修改两行代码
改成
改成

这样adminlte的layout就成为了thymeleaf的一个layout了

  1. 添加一个测试html
    test.html







    

Hello World

其中关键的代码有两行

layout:decorate="layout"

这行代码告诉thymeleaf,渲染test.html的时候要用模板layout(src\main\resources\templates下面的layout.html文件)进行渲染

这行代码告诉thymeleaf,把

中的内容要替换掉layout"layout:fragment="contentWrapper" 部分的内容

准备好这些之后启动spring boot,请求 test.html,就能看到结果中明显多出layout.html中的一些东西,也就是说请求的是test.html,但是获得的是test.html+layout.html的东西。

本文使用我另外的文章 老程序员的一点套路之开源学习 里面介绍的方法进行学习

你可能感兴趣的:(springboot:thymeleaf (1) 和adminlte的结合)