Thymeleaf模板引擎简介【一】

  Thymeleaf是一个对于web和独立运行环境的服务端java模板引擎,能够处理HTML、xml、javascript、css甚至纯文本。

  对于Thymeleaf的目的是提供一个优雅的和高度可维护的模板制作方法,为了实现这一点,它以自然模板的概念为基础,以不影响模板作为设计原型的方式将其逻辑注入模板文件中;这提高了设计的沟通能力,弥补了设计和开发团队的差距。

  Thymeleaf也已经从内部开始设计web网站的标准--特别是HTML5--如果你需要的话允许你提供完全验证的模板。

 

开箱即可用的,Thymeleaf允许你处理六种模板,每一种就叫做Template Mode:

 

HTML
XML
TEXT
JAVASCRIPT
CSS
RAW

 

有两个标记模板模式(HTML和XML),三种文本模式模板(Text、JavaScript、css),和一个no-op模板模式(RAW);

 

 

HTML模板模式将允许任何类型的HTML输入,包括HTML5、HTML4和XHML,不会进行有效性或者合法性检查,模板代码/结构代码将在输出中得到最大的还原。

 

XML模板模式将允许XML类型输入,在这种情况下,如果没有闭合标签、没有引用等校验器将会抛出异常。

 

TEXT模板模式将允许使用非标记性质的特殊语法,这样的例子可能是文本的电子邮件模板或模板文件;注意:HTML模板或者XML模板也可以处理文本模板,在这种情况下他们不需要处理为标记,每个标记,DOCTYPE,评论等,将被视为单纯的文本。

 

JAVASCRIPT模板模式将允许在Thymeleaf应用程序中处理JAVASCRIPT文件,这就意味这可以在JAVASCRIPT文件中使用模板数据就像在HTML文件中一样,但使用特定于JAVASCRIPT的集成,如专业转义或者脚本编写,JAVASCRIPT模板模式本人为是文本模板,因此使用与文本模板模式相近的特殊语法。

 

CSS模板模式将允许处理在Thymeleaf应用程序中的CSS文件,跟JAVASCRIPT模式相似,CSS模式也是一个文本模式,并使用文本模板模式的特殊处理语法。

 

RAW模板模式根本不处理模板,它用于在处理的模板中插入未经触摸的资源(文件、URL响应等)。例如,在HTML格式外,不受控制的资源可以纳入应用模板,安全地知道任何这些资源可能包括Thymeleaf的代码不会被执行。

 

 

方言:标准语言

Thymeleaf是一个可以扩展的模板引擎(实际上也可以叫做一个模板引擎框架),允许你定义和自定义的方式去处理业务逻辑到精细的点。

 

将某个逻辑应用于标记工件(标记、某些文本、注释或仅当模板不是标记的占位符)的处理器称为处理器,这些处理器通常是由一系列的处理器组成的,再加上一些额外的构件。开箱,Thymeleaf的核心库提供了一种方言称为标准的话,这应该是足以满足大多数用户。

 

注意,方言实际上没有处理器,完全由其他类型的工件组成,但是处理器无疑是最常见的用例。

 

本教程涵盖标准方言。下面页中学习的每个属性和语法特征都是由这种方言定义的,即使没有明确提到。

 

当然,如果用户想利用库的高级特性定义自己的处理逻辑,那么用户可以创建自己的方言(甚至扩展标准语言)。Thymeleaf也可以配置为同时使用几种方言。

 

 

官方thymeleaf-spring3和thymeleaf-spring4集成包都定义了一个称为“springstandard方言方言,主要方言为标准一样,但小的适应更好地使用Spring框架的某些功能(例如,通过使用弹簧或SPRINGEL代替OGNL表达式语言)。因此,如果您是Spring MVC用户,您不会浪费您的时间,因为您在这里学到的几乎所有的东西都将在Spring应用程序中使用。

 

标准方言的大部分处理器都是属性处理器。这允许浏览器在处理之前正确地显示HTML模板文件,因为它们只需忽略附加属性。例如,在JSP中使用标签库可以包括代码片段不能直接显示由浏览器一样:

 

<form:inputText name="userName" value="${user.name}" />


Thymeleaf标准方言将使我们能够实现相同的功能:

 

 

<input type="text" name="userName" value="James Carrot" th:value="${user.name}" />


这不仅会被浏览器正确显示,但这也让我们(可选)中指定一个值的属性(“杰姆斯胡萝卜”,在这种情况下),将显示当原型在浏览器中静开,并且将在处理模板的过程中从$ {user.name}产生的值取代。

 

 

 

 

这有助于您的设计人员和开发人员在同一模板文件上工作,并减少将静态原型转换为工作模板文件所需的工作量。这样做的能力是一个称为自然模板的特性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值