Beetl 2.7.14 发布,Java 模板引擎

闲大赋
 闲大赋
发布于 2017年05月09日
收藏 29

本次发布主要增强了MVC 分离开发:

   Beetl 很早就支持分离开发模式。前端人员可以独立开发模板和测试模板,这次主要是提供了专门的WebSimulate类来支持MVC分离开发和REST模拟服务。

比如,对于Spring体系的REST模拟服务

@RequestMapping("/api/**") public void simluateJson(HttpServletRequest request,HttpServletResponse response){

  webSimulate.execute(request, response);

}

在使用了webSimulate后,任何访问api/**的REST请求,都会按照请求路径读取相应的beetl脚本以模拟响应数据。比如,对于如下请求

/api/user/1

将会读取模板根目录下的

/values/api/user/1.var 或者
/values/api/user/$$.var

*.var 使用beetl脚本,因为语法和习俗类似js,因此前端人员可以动态模拟响应数据,最简单的情况,申明一个json变量作为返回结果,比如

var json = {"success":true};

webSimulate 根据脚本里的变量来确定如何渲染

  • json ,表示返回的是一个json

  • ajax,表示此是一个ajax片段渲染

  • 其他情况:认为是一个模板渲染,模板名与请求路径对应,模板参数则是*.var 脚本里申明的所有变量

除了MVC分离开发增强外,还提供了cookie函数用来读取cookie

<dependency>
    <groupId>com.ibeetl</groupId>
    <artifactId>beetl</artifactId>
    <version>2.7.14</version>
</dependency>

Beetl是新一代的模板引擎。总得来说,它的特性如下:

  • 功能完备:同主流的java模板引擎相比,Beetl具有绝大多数功能。适用于各种应用场景,从对响应速度有很高要求的大网站到功能繁多的CMS管理系统都适合。Beetl本身还具有很多独特功能来完成模板编写和维护,这是其他模板引擎所不具有的。

  • 非常简单:类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。

  • 超高的性能:Beetl 远超过主流java模板引擎性能,如5-6倍于freemarker,2倍于传统jsp技术。而且消耗较低的CPU

  • 易于整合:Beetl能很容易的与各种web框架整合,如Spring MVC,JFinal,Struts,Nutz,Jodd,Servlet等。

  • 支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。

  • 扩展和个性化:Beetl支持自定义方法,格式化函数,虚拟属性,标签,和HTML标签. 同时Beetl也支持自定义占位符和控制语句起始符号也支持使用者完全可以打造适合自己的工具包.

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Beetl 2.7.14 发布,Java 模板引擎
加载中

精彩评论

罗格林
罗格林
`WebSimulate` 真是一个惊喜。开源产品就是在这样细致的需求挖掘中不断发展成熟,这个必须点赞!

最新评论(6

闲大赋
闲大赋

引用来自“许雷神”的评论

不怎么明白webmvc前后端分离
mvc分离其实就是要求前端团队和后端团队各自开发,只要定好了接口就行了,这个接口可能是json的,也可能是模板能提供的数据。

这次发布增强了WebSimulate,只要按照文档的例子集成WebSimulate,前端人员就可以容易的动态模拟后台提供的数据。(因为beetl也是类似js语法,所以前端人员容易模拟)
许雷神
许雷神
不怎么明白webmvc前后端分离
原始数据
原始数据
赞赞赞~
知心叔叔
一直在用,很好很强大
有害健康
有害健康
先赞再看
罗格林
罗格林
`WebSimulate` 真是一个惊喜。开源产品就是在这样细致的需求挖掘中不断发展成熟,这个必须点赞!
返回顶部
顶部