SpringMVC中使用Thymeleaf模板引擎實(shí)例代碼
本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相關(guān)內(nèi)容,具體介紹如下。
Thymeleaf提供了一組Spring集成,允許您將其用作Spring MVC應(yīng)用程序中全面替代JSP的功能。
Maven依賴
<!-- thymeleaf-spring4 -->
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring4</artifactId>
<version>3.0.6.RELEASE</version>
</dependency>
配置模板解析器
JavaConfig的方式:
@Bean
public SpringResourceTemplateResolver templateResolver(){
// SpringResourceTemplateResolver自動(dòng)與Spring自己集成
// 資源解決基礎(chǔ)設(shè)施, 強(qiáng)烈推薦。
SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();
templateResolver.setApplicationContext(this.applicationContext);
templateResolver.setPrefix("/WEB-INF/templates/");
templateResolver.setSuffix(".html");
// HTML是默認(rèn)值, 為了清楚起見, 在此處添加。
templateResolver.setTemplateMode(TemplateMode.HTML);
// 默認(rèn)情況下, 模板緩存為true。如果您想要設(shè)置為false
// 模板在修改時(shí)自動(dòng)更新。
templateResolver.setCacheable(true);
return templateResolver;
}
@Bean
public SpringTemplateEngine templateEngine(){
// SpringTemplateEngine自動(dòng)應(yīng)用SpringStandardDialect
// 并啟用Spring自己的MessageSource消息解析機(jī)制。
SpringTemplateEngine templateEngine = new SpringTemplateEngine();
templateEngine.setTemplateResolver(templateResolver());
// 使用Spring 4.2.4或更高版本啟用SpringEL編譯器
// 可以加快大多數(shù)情況下的執(zhí)行速度, 但是當(dāng)一個(gè)模板中
// 的表達(dá)式在不同數(shù)據(jù)類型之間重用時(shí),
// 可能與特定情況不兼容, 因此該標(biāo)志默認(rèn)為“false”
// 以實(shí)現(xiàn)更安全的向后兼容性。
templateEngine.setEnableSpringELCompiler(true);
return templateEngine;
}
XML的方式
<!-- SpringResourceTemplateResolver自動(dòng)與Spring自己集成 -->
<!-- 資源解決基礎(chǔ)設(shè)施, 強(qiáng)烈推薦。 -->
<bean id="templateResolver"
class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".html" />
<!-- HTML是默認(rèn)值, 為了清楚起見, 在此處添加。 -->
<property name="templateMode" value="HTML" />
<!-- 默認(rèn)情況下, 模板緩存為true。如果您想要設(shè)置為false -->
<!-- 模板在修改時(shí)自動(dòng)更新。 -->
<property name="cacheable" value="true" />
</bean>
<!-- SpringTemplateEngine自動(dòng)應(yīng)用SpringStandardDialect并 -->
<!-- 使用Spring自己的MessageSource消息解析機(jī)制。 -->
<bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver" />
<!-- 使用Spring 4.2.4或更高版本啟用Spring EL編譯器 -->
<!-- 可以加快大多數(shù)情況下的執(zhí)行速度, 但是當(dāng)一個(gè)模板中 -->
<!-- 的表達(dá)式在不同數(shù)據(jù)類型之間重用時(shí), -->
<!-- 可能與特定情況不兼容, 因此該標(biāo)志默認(rèn)為“false” -->
<!-- 以實(shí)現(xiàn)更安全的向后兼容性。 -->
<property name="enableSpringELCompiler" value="true" />
</bean>
Thymeleaf中的視圖和視圖分解器
@Bean
public ThymeleafViewResolver viewResolver(){
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
// 注意“order”和“viewNames”是可選的
viewResolver.setOrder(1);
viewResolver.setViewNames(new String[] {".html", ".xhtml"});
return viewResolver;
}
13420.2 Thymeleaf中的視圖和視圖分解器
@Bean
public ThymeleafViewResolver viewResolver(){
ThymeleafViewResolver viewResolver = new ThymeleafViewResolver();
viewResolver.setTemplateEngine(templateEngine());
// 注意“order”和“viewNames”是可選的
viewResolver.setOrder(1);
viewResolver.setViewNames(new String[] {".html", ".xhtml"});
return viewResolver;
}
或者是以XML的格式:
<bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> <property name="templateEngine" ref="templateEngine" /> <!-- 注意“order”和“viewNames”是可選的 --> <property name="order" value="1" /> <property name="viewNames" value="*.html,*.xhtml" /> </bean>
總結(jié)
以上就是本文關(guān)于SpringMVC中使用Thymeleaf模板引擎實(shí)例代碼的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
- Spring Boot使用Thymeleaf + Gradle構(gòu)建war到Tomcat
- SpringBoot中的Thymeleaf模板
- springboot如何使用thymeleaf模板訪問html頁面
- spring boot thymeleaf 圖片上傳web項(xiàng)目根目錄操作步驟
- IDEA+maven+SpringBoot+JPA+Thymeleaf實(shí)現(xiàn)Crud及分頁
- Spring Boot + thymeleaf 實(shí)現(xiàn)文件上傳下載功能
- Spring boot搭建web應(yīng)用集成thymeleaf模板實(shí)現(xiàn)登陸
- spring boot+thymeleaf+bootstrap實(shí)現(xiàn)后臺(tái)管理系統(tǒng)界面
- 詳解SpringBoot+Thymeleaf 基于HTML5的現(xiàn)代模板引擎
- Spring Boot配置Thymeleaf(gradle)的簡(jiǎn)單使用
相關(guān)文章
Spring Data JPA 設(shè)置字段默認(rèn)值方式
這篇文章主要介紹了Spring Data JPA設(shè)置字段默認(rèn)值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
基于Java設(shè)計(jì)一個(gè)短鏈接生成系統(tǒng)
相信大家在生活中會(huì)收到很多短信,而這些短信都有一個(gè)特點(diǎn)是鏈接很短。這些鏈接背后的原理是什么呢?怎么實(shí)現(xiàn)的?小編今天就帶你們?cè)敿?xì)了解一下2021-12-12
解決java啟動(dòng)時(shí)報(bào)線程占用報(bào)錯(cuò):Exception?in?thread?“Thread-14“?java.ne
這篇文章主要給大家介紹了關(guān)于解決java啟動(dòng)時(shí)報(bào)線程占用:Exception?in?thread?“Thread-14“?java.net.BindException:?Address?already?in?use:?bind的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-04-04
java 在Jetty9中使用HttpSessionListener和Filter
這篇文章主要介紹了java 在Jetty9中使用HttpSessionListener和Filter的相關(guān)資料,需要的朋友可以參考下2017-06-06
Arrays.sort如何實(shí)現(xiàn)降序排序
這篇文章主要介紹了Arrays.sort如何實(shí)現(xiàn)降序排序問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11

