Java模板引擎Thymeleaf
   软件工程   0 评论   1314 浏览

Java模板引擎Thymeleaf

   软件工程   0 评论   1314 浏览

知识背景

Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎。类似JSP,Velocity,FreeMaker等, 它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用的模板引擎。与其它模板引擎相比, Thymeleaf最大的特点是能够直接在浏览器中打开并正确显示模板页面,而不需要启动整个Web应用。

  
Thymeleaf支持Spring Expression Language语言作为方言,也就是SpEL,在学习JSP时我们对EL表达式都有一定的认识了,SpEL是可以用于Spring中的一种EL表达式。

简而言之,与我们使用过的JSP不同,Thymeleaf是使用html的标签来完成逻辑和数据的传入进行渲染, 而且不用像jsp一样作为一个servlet被编译再生成。即便单独的Thymeleaf html文件依旧可以正确打开并有少量(相对)有价值的信息,并且是可以被浏览器直接打开的。

可以说用Thymeleaf完全替代jsp是可行的。何况他的功能更强大。

SpringMVC配置

pom.xml

<!-- Java模板引擎 -->
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf-spring5</artifactId>
    <version>3.0.11.RELEASE</version>
</dependency>

spring-mvc.xml

<!-- 配置模板视图解析器 -->
<bean id="templateResolver"
        class="org.thymeleaf.spring5.templateresolver.SpringResourceTemplateResolver">
    <!-- html文件所在的目录 -->
    <property name="prefix" value="/WEB-INF/templates/" />
    <!-- 文件的后缀名 -->
    <property name="suffix" value=".html" />
    <property name="order" value="1"/>
    <property name="templateMode" value="LEGACYHTML5" />
    <property name="cacheable" value="false" />
    <property name="characterEncoding" value="UTF-8"/>
</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>

/WEB-INF/templates/index.html

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
...

本文由 RawChen 发表, 最后编辑时间为:2020-12-24 00:40
如果你觉得我的文章不错,不妨鼓励我继续写作。

发表评论
选择表情
Top