模板引擎

概述:

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。模板引擎不属于特定技术领域,它是跨领域跨平台的概念。在Asp下有模板引擎,在PHP下也有模板引擎,在C#下也有,甚至JavaScriptWinForm开发都会用到模板引擎技术。

 

html 页面就是个字符串,模板引擎就是给了你模板引擎自定义的语法,用来对这个字符串进行变量 /表达式的替换最后还是得到 html 的字符串。
前端模板就是这个替换操作在浏览器用 js 执行,比如 react,vue,不过它们不仅仅是模板。后端模板就是替换操作在后端执行。
前端替换叫前端渲染,后端替换叫后端渲染,你也可以后端渲染完生成 html 给前端,前端拿到这个 html 再做一次替换。
html,css,js 都是浏览器的事,所以后端模板引擎和这三者都不存在替代关系。
jsp 也算是模板引擎,和 thymeleaf 就是语法 /性能 /其他功能强弱有无的区别,反正模板引擎做的事基本上都是输入模板+变量,输出 html 字符串,有些加个缓存。
通过 cdn 引入 js,css 绝大部分时候不会导致加载变慢,浏览器会并行下载它们。

 

传统的页面开发过程中通常采用的HTML + JS技术,而现在大部分网站都采用标签化+ 模块化的设计 。模板引擎其实就是根据这种方式,使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档在原有的HTML页面中来填充数据。最终达到渲染页面的目的。说人话就是,把数据和页面整合在一起的技术。

 

模板是为了将显示与数据分离,模板技术多种多样,但其本质都是将模板文件和数据通过模板引擎生成最终的 HTML代码。

 

总结:

模板引擎有哪些:jsp、Velocity、FreeMarker、Thymleaf、Beetl、Enjoy。


jsp:是spring boot 官方是不推荐的,原因有三:在tomcat上,jsp不能在嵌套的tomcat容器解析即不能在打包成可执行的jar的情况下解析;Jetty 嵌套的容器不支持jsp;Undertow。

velocity:是较早出现的用于代替jsp的模板语言。官网:http://velocity.apache.org/

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

Thymeleaf :是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。官网:https://www.thymeleaf.org/

Beetl:国产模板引擎,Beetl 类似 Javascript 语法和习俗,只要半小时就能通过半学半猜完全掌握用法。官方号称速度非常的快:Beetl 远超过主流 java 模板引擎性能(引擎性能5-6倍与 freemaker,2倍于JSP)。官网:http://ibeetl.com/

Enjoy:JFinal 极速开发框架出品的模板引擎,没大了解,有兴趣自己看下。官网:http://www.jfinal.com/

 

参考https://www.jianshu.com/p/974604f404bd

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值