java模板引擎哪个好_模板引擎比较

java模板引擎哪个好_模板引擎比较18 9 3 总结 1 FreeMarker 是一个用 Java 语言编写的模板引擎 它基于模板来生成文本输出 FreeMarker 与 Web 容器无关 即在 Web 运行时 它并不知道 Servlet 或 HTTP 它不仅可以用作表现层的实现技术 而且还可以用于生成 XML JSP 或 Java 等 在 spring4 0 中推荐使用 thymeleaf 来做前端模版引擎 2 JSP 技术 springboot 官方是不推荐的 原因

18.9.3

总结:

1、FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP。它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等,在spring4.0中推荐使用thymeleaf来做前端模版引擎。

2、JSP技术spring boot 官方是不推荐的,原因有三:

2.1. 在tomcat上,jsp不能在嵌套的tomcat容器解析即不能在打包成可执行的jar的情况下解析

2.2. Jetty 嵌套的容器不支持jsp

2.3. Undertow

3、反正就是spring推荐themleaf,就学学themleaf。

18.8.31

在java领域,表现层技术主要有三种:jsp、freemarker、velocity。

jsp是大家最熟悉的技术

优点:

1、功能强大,可以写java代码

2、支持jsp标签(jsp tag)

3、支持表达式语言(el)

4、官方标准,用户群广,丰富的第三方jsp标签库

5、性能良好。jsp编译成class文件执行,有很好的性能表现

缺点:

jsp没有明显缺点,非要挑点骨头那就是,由于可以编写java代码,如使用不当容易破坏mvc结构。

velocity是较早出现的用于代替jsp的模板语言

优点:

1、不能编写java代码,可以实现严格的mvc分离

2、性能良好,据说比jsp性能还要好些

3、使用表达式语言,据说jsp的表达式语言就是学velocity的

缺点:

1、不是官方标准

2、用户群体和第三方标签库没有jsp多。

3、对jsp标签支持不够好

4、已经很久很久没有维护了。

freemarker

优点:

1、不能编写java代码,可以实现严格的mvc分离

2、性能非常不错

3、对jsp标签支持良好

4、内置大量常用功能,使用非常方便

5、宏定义(类似jsp标签)非常方便

6、使用表达式语言

缺点:

1、不是官方标准

2、用户群体和第三方标签库没有jsp多

选择freemarker的原因:

1、性能。velocity应该是最好的,其次是jsp,普通的页面freemarker性能最差(虽然只是几毫秒到十几毫秒的差距)。但是在复杂页面上(包含大量判断、日期金额格式化)的页面上,freemarker的性能比使用tag和el的jsp好。

2、宏定义比jsp tag方便

3、内置大量常用功能。比如html过滤,日期金额格式化等等,使用非常方便

4、支持jsp标签

5、可以实现严格的mvc分离

thymeleaf

Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用。

Thymeleaf的主要目标在于提供一种可被浏览器正确显示的、格式良好的模板创建方式,因此也可以用作静态建模。你可以使用它创建经过验证的XML与HTML模板。相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。Thymeleaf的可扩展性也非常棒。你可以使用它定义自己的模板属性集合,这样就可以计算自定义表达式并使用自定义逻辑。这意味着Thymeleaf还可以作为模板引擎框架。

thymeleaf优点:静态html嵌入标签属性,浏览器可以直接打开模板文件,便于前后端联调。springboot官方推荐方案。thymeleaf缺点:模板必须符合xml规范,就这一点就可以判死刑!太不方便了!js脚本必须加入/

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220940.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午7:17
下一篇 2026年3月17日 下午7:18


相关推荐

  • MySQL窗口函数,你最熟悉的陌生人~

    MySQL窗口函数,你最熟悉的陌生人~窗口函数,MySQL中最熟悉的陌生人~

    2022年10月4日
    3
  • Delphi QuotedStr函数的原型

    Delphi QuotedStr函数的原型DelphiQuotedStr函数的原型functionQuotedStr(constS:string):string;
    var
     I:Integer;
    begin
     Result:=S;
     forI:=Length(Result)downto1do
       ifResult[I]=””thenInsert(””,Result,I);
     Result:=””+Resul

    2022年10月18日
    4
  • Navicat15.0.25 激活码3月最新在线激活

    Navicat15.0.25 激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    127
  • 数据分析:OLS回归分析

    数据分析:OLS回归分析变量之间存在着相关关系 比如 人的身高和体重之间存在着关系 一般来说 人高一些 体重要重一些 身高和体重之间存在的是不确定性的相关关系 回归分析是研究相关关系的一种数学工具 它能帮助我们从一个变量的取值区估计

    2026年3月18日
    2
  • mac双系统安装方法_macbook如何安装双系统

    mac双系统安装方法_macbook如何安装双系统Mac上安装双系统(传统BootCamp傻瓜式)图文教程写在前面:Mac用户在使用过程中,多少有的时候还会使用Windows,想装一个咋办?找某宝需要花钱150元,看这篇文章,十几分钟看明白,自己动手丰衣足食!所以本文将以图文教程教你如何安装双系统,开机随意选择,想用什么用什么!尽管我不是很喜欢用Windows…….个人建议阅读完本文章,彻底看明白之后再对照操作安装前期准备工作:需准备至少8Gb空优盘一个,不是空的可以提前备份一下,制作启动盘会格式化优盘,请注意!制作启动盘…

    2022年10月6日
    2
  • linux网络95值工具,Linux下网络故障排查工具之ping|traceroute和tcptraceroute|mtr工具[通俗易懂]

    linux网络95值工具,Linux下网络故障排查工具之ping|traceroute和tcptraceroute|mtr工具[通俗易懂]服务器运维人员在日常运维服务器的过程中经常会遇到服务器网络故障,有服务器硬件造成的,也有服务商网络问题造成的,也有区域网络问题造成的,这个时候就需要用到ping,traceroute,mtr这三个命令1、ping最简单的网络请求反馈命令ping使用了ICMP回送请求和回送应答报文。ping工具发出去的数据包没有通过tcp/udp协议,但是要经过ip协议。ping命令计算的时间是数据包的往返总时间…

    2022年6月20日
    50

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号