视图
1.jsp
可以忽略
2.thymeleaf
Thymeleaf是一个Java库。它是一个XML/XHTML/HTML5模板引擎,能够应用于转换模板文件,以显示您的应用程序产生的数据和文本。 它尤其适合于基于XHTML/HTML5的web服务应用程序,同时它可以处理任何XML文件,作为web或独立的应用程序。Thymeleaf的主要目的是提供一个优雅和格式良好的方式创建模板。 为了实现这一目标,它把预定义的逻辑放在XML的标记和属性上,而不是显式放在XML标记的内容上。依靠智能缓存去解析文件,致使其执行期间的I/O操作达到了最少数量,因此其处理的模板的能力实非常快速的。
spring boot并不推荐使用jsp,简单说, Thymeleaf 是一个跟 Velocity、FreeMarker类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:
- Thymeleaf在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查看页面的静态效果,也可以让程序员在服务器查看带数据的动态页面效果。 这是由于它支持 html 原型, 然后在 html 标签里增加额外的属性来达到模板+数据的展示方式。 浏览器解释 html 时会忽略未定义的标签属性,所以 thymeleaf 的模板可以静态地运行;当有数据返回到页面时, Thymeleaf 标签会动态地替换掉静态内容,使页面动态显示。
- Thymeleaf开箱即用的特性。它提供标准和spring标准两种方言,可以直接套用模板实现JSTL、OGNL表达式效果,避免每天套模板、该jstl、改标签的困扰。同时开发人员也可以扩展和创建自定义的方言。
- Thymeleaf 提供spring标准方言和一个与 SpringMVC完美集成的可选模块,可以快速的实现表单绑定、属性编辑器、国际化等功能。
使用文档:
3.tiles2
jsp的视图编排框架。
4.freemarker
FreeMarker是一款模板引擎:即一种基于模板和要改变的数据,并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 FreeMarker可以用来创建模板,生成我们需要的任意文本文件,也可以用来代替jsp,用来输出页面(不产生新的文件,以流的形式输出到浏览器中)。
特点:
- FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件。
- FreeMarker与容器无关,因为它并不知道HTTP或Servlet;FreeMarker同样可以应用于非Web应用程序环境。
- FreeMarker更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。
- FreeMarker是免费的。而且你还可以通过Eclipse的插件来编辑FreeMarker,经过验证,FreeMarker 最好的 Eclipse 编辑插件是 JBoss Tools。
使用文档:
5.velocity
是较早出现的用于代替jsp的模板语言 优点:
- 不能编写java代码,可以实现严格的mvc分离
- 性能良好,据说比jsp性能还要好些
- 使用表达式语言,据说jsp的表达式语言就是学velocity的
缺点:
- 不是官方标准
- 用户群体和第三方标签库没有jsp多。
- 对jsp标签支持不够好
文章信息
- 本文作者:zhangxue
- 本文链接:https://lucksnow1989.github.io/article/9.开源/视图.html
- 版权声明:本文为本人原创文章,遵循 CC 4.0 BY-NC-SA版权协议,转载请附上原文出处链接和本声明。