thymeleaf模板引擎入门

ThymeLeaf模板 ginotang 872℃ 0评论

ThymeLeaf是什么

Thymeleaf是一个用于服务器端的java模板引擎,它使用简单但功能强大,目前可以处理的模板类型包括:HTML、XML、TEXT、JavaScript、CSS等。

搭建thymeleaf开发环境

首先创建一个Maven web项目,pom文件依赖信息如下:

可见,thymeleaf的依赖并不复杂,只需要引入一个库文件就可以使用thymeleaf引擎。

TemplateEngin、ITemplateResolver和IContext

这三个组件构成thymeleaf的核心:

  • ITemplateResolver用于设置模板引擎,例如模板的存放目录,模板的后缀(html、html),是否开启模板缓存等等。
  • TemplateEngine用于解析模板。
  • IContext用于保存模板中需要的一些变量。例如要把变量传递到模板中,就可以先把变量放入IContext的实现类中,然后在模板中获取该变量的值。

一个简单的thymeleaf使用例子

为了让程序代码尽可能简单,这里只使用最基本的servlet处理web请求。

创建Servlet

servlet代码如下,它只是一个简单的servlet,没有什么功能:

引入模板引擎属性

要使模板引擎可以工作,至少需要创建TemplateEngine类和ITemplateResolver接口的实例,因此在刚才创建的servlet中创建两个类属性, 如下:

初始化模板引擎

这一步可以在servlet的init方法中初始化上面加入的两个属性。一般情况下,模板解析器有一些默认值,例如它默认以html方式解析模板。但是,模板的保存路径和后缀是空的,这两个必须由我们自己设置。

其中prefix就是模板保存的路径,suffix就是模板的扩展名(后缀)。

使用WebContext

WebContext是IContext的其中一个实现类,它的基本作用是保存变量。

当请求到来的时候,我们创建一个上下文对象用于保存变量,将来可以在模板中获取变量的值。

TemplateEngine的process方法用于解析模板并利用当前response对象的writer把模板输出到浏览器。

整个过程是非常简单清晰的。

在模板中获取变量的值

home.html文件内容:

代码中的核心是th:text标签和${message}占位符,它们用于把从上下文中获取到的变量值替换掉当前标签的文本,这里是:this is a greeting

完整代码:

pom.xml

IndexServlet

 

 

转载请注明:Pure nonsense » thymeleaf模板引擎入门

喜欢 (0)
0 0 投票数
文章评分
订阅评论
提醒
guest
0 评论
内联反馈
查看所有评论
0
希望看到您的想法,请您发表评论x
()
x