簡單介紹
成都創(chuàng)新互聯(lián)公司主營東區(qū)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā),東區(qū)h5微信小程序搭建,東區(qū)網(wǎng)站營銷推廣歡迎東區(qū)等地區(qū)企業(yè)咨詢
目前在JavaEE領(lǐng)域有幾中比較常用的模板引擎,分別是Jsp、Velocity、Freemarker、Thymeleaf,對Freemark語法不是特別熟悉,不過對于前端頁面渲染效率來說,jsp其實(shí)還是最快的,Velocity次之。Thymeleaf雖然渲染效率不是很快,但是語法方面是比較輕巧的,Thymeleaf語法比Velocity輕巧,但是渲染效率不如Velocity
thymeleaf 支持html5標(biāo)準(zhǔn);是一種模板引擎框架(TemplateEngine Framework);thymeleaf 頁面無須部署到servlet開發(fā)到服務(wù)器上,直接通過瀏覽器就能打開。它可以完全替代 JSP 。
特點(diǎn):
1.Thymeleaf 在有網(wǎng)絡(luò)和無網(wǎng)絡(luò)的環(huán)境下皆可運(yùn)行,即它可以讓美工在瀏覽器查看頁面的靜態(tài)效果,也可以讓程序員在服務(wù)器查看帶數(shù)據(jù)的動(dòng)態(tài)頁面效果。這是由于它支持 html 原型,然后在 html 標(biāo)簽里增加額外的屬性來達(dá)到模板+數(shù)據(jù)的展示方式。瀏覽器解釋 html 時(shí)會(huì)忽略未定義的標(biāo)簽屬性,所以 thymeleaf 的模板可以靜態(tài)地運(yùn)行;當(dāng)有數(shù)據(jù)返回到頁面時(shí),Thymeleaf 標(biāo)簽會(huì)動(dòng)態(tài)地替換掉靜態(tài)內(nèi)容,使頁面動(dòng)態(tài)顯示。
2.它提供標(biāo)準(zhǔn)和spring標(biāo)準(zhǔn)兩種方言,可以直接套用模板實(shí)現(xiàn)JSTL、 OGNL表達(dá)式效果。
3.Thymeleaf 提供spring標(biāo)準(zhǔn)方言和一個(gè)與 SpringMVC 完美集成的可選模塊,可以快速的實(shí)現(xiàn)表單綁定、屬性編輯器、國際化等功能。
maven配置
因?yàn)橐肓薙pringBoot的parent工程,所以不需要寫版本號(hào)
org.springframework.boot spring-boot-starter-thymeleaf
application.yml配置
#添加Thymeleaf配置 thymeleaf: cache: false prefix: classpath:/templates/ suffix: .html mode: HTML5 encoding: UTF-8 content-type: text/html
application.yml:
server: port: 8081 #logging: # config: classpath:logback_spring.xml.bat # level: # com.muses.taoshop: debug # path: /data/logs spring: datasource: # 主數(shù)據(jù)源 shop: url: jdbc:MySQL://127.0.0.1:3306/taoshop?autoReconnect=true&useUnicode=true&characterEncoding=utf8&characterSetResults=utf8&useSSL=false username: root password: root driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource # 連接池設(shè)置 druid: initial-size: 5 min-idle: 5 max-active: 20 # 配置獲取連接等待超時(shí)的時(shí)間 max-wait: 60000 # 配置間隔多久才進(jìn)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 time-between-eviction-runs-millis: 60000 # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒 min-evictable-idle-time-millis: 300000 # Oracle請使用select 1 from dual validation-query: SELECT 'x' test-while-idle: true test-on-borrow: false test-on-return: false # 打開PSCache,并且指定每個(gè)連接上PSCache的大小 pool-prepared-statements: true max-pool-prepared-statement-per-connection-size: 20 # 配置監(jiān)控統(tǒng)計(jì)攔截的filters,去掉后監(jiān)控界面sql無法統(tǒng)計(jì),'wall'用于防火墻 filters: stat,wall,slf4j # 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄 connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 # 合并多個(gè)DruidDataSource的監(jiān)控?cái)?shù)據(jù) use-global-data-source-stat: true # jpa: # database: mysql # hibernate: # show_sql: true # format_sql: true # ddl-auto: none # naming: # physical-strategy: org.hibernate.boot.entity.naming.PhysicalNamingStrategyStandardImpl # mvc: # view: # prefix: /WEB-INF/jsp/ # suffix: .jsp #添加Thymeleaf配置 thymeleaf: cache: false prefix: classpath:/templates/ suffix: .html mode: HTML5 encoding: UTF-8 content-type: text/html #Jedis配置 # jedis : # pool : # host : 127.0.0.1 # port : 6379 # password : redispassword # timeout : 0 # config : # maxTotal : 100 # maxIdle : 10 # maxWaitMillis : 100000
添加html文件
在resources資源文件夾下面新建一個(gè)templates文件夾,所有的html文件都丟在這里,靜態(tài)資源文件也丟在resources資源文件夾下面
新建一個(gè)html文件,然后注意加上
注意Thymeleaf語法要求比較嚴(yán)格 ,不如這樣寫是不可以的,必須加上斜杠的,
Thymeleaf簡單例子
遍歷后臺(tái)數(shù)據(jù)
引入文件
Thymeleaf引入另外一個(gè)html文件可以使用th:replace或者th:include,
Img便簽src
鏈接便簽
靜態(tài)資源使用
給出一個(gè)html頁面例子:
電商門戶網(wǎng)站
代碼取自個(gè)人的開源項(xiàng)目:https://github.com/u014427391/taoshop,有需要可以參考
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對創(chuàng)新互聯(lián)的支持。