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)值, 為了清楚起見(jià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)值, 為了清楚起見(jià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模板訪問(wèn)html頁(yè)面
- spring boot thymeleaf 圖片上傳web項(xiàng)目根目錄操作步驟
- IDEA+maven+SpringBoot+JPA+Thymeleaf實(shí)現(xiàn)Crud及分頁(yè)
- 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)文章
springboot jasypt2.x與jasypt3.x的使用方式
在軟件開(kāi)發(fā)中,將配置文件中的敏感信息(如數(shù)據(jù)庫(kù)密碼)進(jìn)行加密是保障安全的有效手段,jasypt框架提供了這一功能,支持通過(guò)加密工具類或命令行工具生成密文,并通過(guò)修改配置文件和啟動(dòng)參數(shù)的方式使用密文和密鑰,這樣即便配置文件被泄露2024-09-09簡(jiǎn)單了解SpringMVC緩存對(duì)靜態(tài)資源有什么影響
這篇文章主要介紹了簡(jiǎn)單了解SpringMVC緩存對(duì)靜態(tài)資源有什么影響,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法
這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對(duì)廣大的程序愛(ài)好者有所幫助,同時(shí)祝大家有一個(gè)好成績(jī),需要的朋友可以參考下,希望能給你帶來(lái)幫助2021-07-07Java線程安全和鎖Synchronized知識(shí)點(diǎn)詳解
在本篇文章里小編給大家分享的是關(guān)于Java線程安全和鎖Synchronized相關(guān)知識(shí)點(diǎn),有需要的朋友們可以參考下。2019-08-08利用logback 設(shè)置不同包下的日志級(jí)別
這篇文章主要介紹了利用logback 設(shè)置不同包下的日志級(jí)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-12-12