SpringMVC中使用Thymeleaf模板引擎实例代码

2025-05-29 0 91

本文研究的主要是SpringMVC中使用Thymeleaf模板引擎的相关内容,具体介绍如下。

Thymeleaf提供了一组Spring集成,允许您将其用作Spring MVC应用程序中全面替代JSP的功能。

Maven依赖

?

1

2

3

4

5

6
<!-- thymeleaf-spring4 -->

<dependency>

<groupId>org.thymeleaf</groupId>

<artifactId>thymeleaf-spring4</artifactId>

<version>3.0.6.RELEASE</version>

</dependency>

配置模板解析器

JavaConfig的方式:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30
@Bean

public SpringResourceTemplateResolver templateResolver(){

// SpringResourceTemplateResolver自动与Spring自己集成

// 资源解决基础设施, 强烈推荐。

SpringResourceTemplateResolver templateResolver = new SpringResourceTemplateResolver();

templateResolver.setApplicationContext(this.applicationContext);

templateResolver.setPrefix("/WEB-INF/templates/");

templateResolver.setSuffix(".html");

// HTML是默认值, 为了清楚起见, 在此处添加。

templateResolver.setTemplateMode(TemplateMode.HTML);

// 默认情况下, 模板缓存为true。如果您想要设置为false

// 模板在修改时自动更新。

templateResolver.setCacheable(true);

return templateResolver;

}

@Bean

public SpringTemplateEngine templateEngine(){

// SpringTemplateEngine自动应用SpringStandardDialect

// 并启用Spring自己的MessageSource消息解析机制。

SpringTemplateEngine templateEngine = new SpringTemplateEngine();

templateEngine.setTemplateResolver(templateResolver());

// 使用Spring 4.2.4或更高版本启用SpringEL编译器

// 可以加快大多数情况下的执行速度, 但是当一个模板中

// 的表达式在不同数据类型之间重用时,

// 可能与特定情况不兼容, 因此该标志默认为“false”

// 以实现更安全的向后兼容性。

templateEngine.setEnableSpringELCompiler(true);

return templateEngine;

}

XML的方式

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24
<!-- SpringResourceTemplateResolver自动与Spring自己集成 -->

<!-- 资源解决基础设施, 强烈推荐。 -->

<bean id="templateResolver"

class="org.thymeleaf.spring4.templateresolver.SpringResourceTemplateResolver">

<property name="prefix" value="/WEB-INF/views/" />

<property name="suffix" value=".html" />

<!-- HTML是默认值, 为了清楚起见, 在此处添加。 -->

<property name="templateMode" value="HTML" />

<!-- 默认情况下, 模板缓存为true。如果您想要设置为false -->

<!-- 模板在修改时自动更新。 -->

<property name="cacheable" value="true" />

</bean>

<!-- SpringTemplateEngine自动应用SpringStandardDialect并 -->

<!-- 使用Spring自己的MessageSource消息解析机制。 -->

<bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine">

<property name="templateResolver" ref="templateResolver" />

<!-- 使用Spring 4.2.4或更高版本启用Spring EL编译器 -->

<!-- 可以加快大多数情况下的执行速度, 但是当一个模板中 -->

<!-- 的表达式在不同数据类型之间重用时, -->

<!-- 可能与特定情况不兼容, 因此该标志默认为“false” -->

<!-- 以实现更安全的向后兼容性。 -->

<property name="enableSpringELCompiler" value="true" />

</bean>

Thymeleaf中的视图和视图分解器

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
@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的格式:

?

1

2

3

4

5

6
<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>

总结

以上就是本文关于SpringMVC中使用Thymeleaf模板引擎实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

原文链接:http://blog.csdn.net/w_x_z_/article/details/72730603

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 SpringMVC中使用Thymeleaf模板引擎实例代码 https://www.kuaiidc.com/112728.html

相关文章

发表评论
暂无评论