1.2 Thymeleaf能处理哪些模板
Thymeleaf支持处理六种类型的模板,每一种模板被称为模板模式(Template Mode)。
- HTML
- XML
- TEXT
- JAVASCRIPT
- CSS
- RAW
这之中有两种markdown模板模式(HTML, XML),三种文本模板模式(TEXT, JAVASCRIPT和CSS)和一种无操作模板模式(RAW)
HTML模板模式支持任何类型的HTML输入,包括HTML5,HTML4和XHTML。对这些输入不会进行严格的验证和格式的检查,而且模板代码/结构在输出时会尽最大可能保持原有的内容。
XML模板模式支持XML输入。在这种模式下,代码应当是结构良好的--没有未闭合的括号,没有不带引号的属性等等--所以如果违背了结构要求解析器将会抛出异常。需要注意的是,不会针对DTD或XML Schema对XML文件进行校验。
Text模板模式允许对非markup格式的模板使用特殊的语法。这种模式的例子有邮件或者是文档模板。需要注意的是,HTML或XML模板也能作为TEXT模式被处理,它们在这种模式下不会被解析为markup语法,每一个标签,DOCTYPE,备注等等都会被当做是纯文本。
JAVASCRIPT模板模式允许在Thymeleaf应用中处理JavaScript文件。这意味着能够在JS文件中使用和HTML文件中相同的方式读取模型数据,但是需要结合JS进行特定的集成比如转义和自然脚本。这个模式属于文本模板模式,因此也和别的文本模板模式一样,使用同样的特殊语法。
CSS模板模式允许在Thymeleaf应用中处理CSS文件。类似于JAVASCRIPT模板模式,CSS模板模式也是一个文本模式,并且使用文本模式的特殊处理语法。
RAW模板模式不对模板进行处理。这种模式用于将不变的资源(文件, URL 响应, 等等)待处理的模板。比如,外部的不受控制的HTML格式的资源能够被插入应用模板中,并且可以放心的知道这些资源中包含的代码将不会被执行。