最近在写微服务的项目,第一次接触thymeleaf,踩了很多雷,决定把我在工作中遇到的跟大家分享,希望能帮助遇到相同问题的朋友。
1.1 首先介绍一下这个东西(来源百度)
http://www.thymeleaf.org 这是thymeleaf的官网。
Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用。
Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑。这意味着Thymeleaf还可以作为模板引擎框架。
Thymeleaf的模板还可以用作工作原型,Thymeleaf会在运行期替换掉静态值。
用我自己的话来来总结,就是这个东西不像JSP那样需要WEB容器来解析他,在无WEB容器的情况下,你可以直接查看 其静态内容,而需要数据动态展示的时候,又能向JSP那样接收从后台传来的数据。
1.2 为什么使用Thymeleaf?其优点是什么?
首先介绍一下我的工作内容。我在一家北京做云产品的公司(AWS、华为、PCF),我是做PCF,PaaS云。但因为我之前是做传统开发的,所以我的工作就是微服务的开发(PCF我也基本搞通)。微服务的开发我在之后再做详细介绍。
在做微服务开发的时候,官方是不推荐使用JSP作为视图框架,而是推荐使用Thymeleaf,刚刚接触Thymeleaf的时候,我也是一脸懵逼,完全找不到方向。我也希望帮助需要使用Thymeleaf但还一脸懵逼的朋友。
用我自己总结的话说,Thymeleaf的优点是它是基于HTML的,即使视图没有渲染成功,也是一个标准的HTML页面。因此它的可读性很不错,也可以作为设计原型来使用。而且它是完全独立于java ee容器的,这就意味着我们可以在任何需要渲染HTML的地方使用Thymeleaf。
之后接着介绍thymeleaf的属性使用。
原创博客,转载请注明出处:https://my.oschina.net/u/3637243/blog/1502953