SSM框架—Thymeleaf模板引擎 Spring5整合Thymeleaf(XML配置)
生活随笔
收集整理的這篇文章主要介紹了
SSM框架—Thymeleaf模板引擎 Spring5整合Thymeleaf(XML配置)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 依賴
? 在配置好SSM框架后,在pom.xml中添加如下依賴
?
<dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf-spring5</artifactId><version>3.0.9.RELEASE</version> </dependency>2. 配置文件
? 在Sping_mvc.xml中加入如下配置,并且注釋掉jsp的viewResolver或freemarker的配置
?
<bean id="templateResolver"class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver"><property name="prefix" value="/WEB-INF/templates/"/><property name="suffix" value=".html"/><property name="characterEncoding" value="UTF-8"/><property name="order" value="1"/><property name="templateMode" value="HTML5"/><property name="cacheable" value="false"/> </bean><bean id="templateEngine"class="org.thymeleaf.spring5.SpringTemplateEngine"><property name="templateResolver" ref="templateResolver"/> </bean><bean id="viewResolver" class="org.thymeleaf.spring5.view.ThymeleafViewResolver"><property name="templateEngine" ref="templateEngine"/><property name="characterEncoding" value="UTF-8"/> </bean>此配置需要注意以下幾點(diǎn):
- templateResolver的prefix與suffix對(duì)應(yīng)你的視圖層的文件位置
- templateResolver的characterEncoding和viewResolver的都要設(shè)置成UTF-8中文才不會(huì)亂碼。
- templateResolver的cacheable一定要在開(kāi)發(fā)的時(shí)候設(shè)置成false不然無(wú)法看到實(shí)時(shí)的頁(yè)面數(shù)據(jù)
3. 測(cè)試
-
controller:
在ModelMap里面隨便設(shè)置一點(diǎn)值
@RequestMapping("/test") public String test(ModelMap map) {map.put("thText", "設(shè)置文本內(nèi)容");map.put("thUText", "設(shè)置文本內(nèi)容");map.put("thValue", "設(shè)置當(dāng)前元素的value值");map.put("thEach", Arrays.asList("列表", "遍歷列表"));map.put("thIf", "msg is not null");map.put("thObject", new UserEntity("sadfa","asfasfd","asfsaf","asdfasf","saf","asfd","sadf",1));return "test"; } -
test.html
<!DOCTYPE html> <html lang="cn" xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <h1>TEST</h1> <h2>Thymeleaf</h2> <!--th:text 設(shè)置當(dāng)前元素的文本內(nèi)容,常用,優(yōu)先級(jí)不高--> <p th:text="${thText}" /> <p th:utext="${thUText}" /><!--th:value 設(shè)置當(dāng)前元素的value值,常用,優(yōu)先級(jí)僅比th:text高--> <input type="text" th:value="${thValue}" /><!--th:each 遍歷列表,常用,優(yōu)先級(jí)很高,僅此于代碼塊的插入--> <!--th:each 修飾在div上,則div層重復(fù)出現(xiàn),若只想p標(biāo)簽遍歷,則修飾在p標(biāo)簽上--> <div th:each="message : ${thEach}"> <!-- 遍歷整個(gè)div-p,不推薦--><p th:text="${message}" /> </div> <div> <!--只遍歷p,推薦使用--><p th:text="${message}" th:each="message : ${thEach}" /> </div><!--th:if 條件判斷,類似的有th:switch,th:case,優(yōu)先級(jí)僅次于th:each, 其中#strings是變量表達(dá)式的內(nèi)置方法--> <p th:text="${thIf}" th:if="${not #strings.isEmpty(thIf)}"></p><!--th:insert 把代碼塊插入當(dāng)前div中,優(yōu)先級(jí)最高,類似的有th:replace,th:include,~{} :代碼塊表達(dá)式 --> <div th:insert="~{grammar/common::thCommon}"></div><!--th:object 聲明變量,和*{} 一起使用--> <div th:object="${thObject}"><p>ID: <span th:text="*{id}" /></p><!--th:text="${thObject.id}"--><p>TH: <span th:text="*{username}" /></p><!--${thObject.thName}--><p>DE: <span th:text="*{password}" /></p><!--${thObject.desc}--> </div> </body> </html>
幾點(diǎn)注意:
-
在html首標(biāo)簽里面加上x(chóng)mlns
<html lang="cn" xmlns:th="http://www.thymeleaf.org"> -
同樣把head的meta設(shè)置一個(gè)charset=“UTF-8”
至此,你就可以去配置tomcat運(yùn)行項(xiàng)目了。
總結(jié)
以上是生活随笔為你收集整理的SSM框架—Thymeleaf模板引擎 Spring5整合Thymeleaf(XML配置)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 嵌入式C语言switch语句
- 下一篇: 【优化求解】基于加权黑猩猩算法WCHoA