Beetl-新一代Java模板引擎

简介

Beetl是Bee Template Language的缩写,它绝不是简单的另外一种模板引擎,而是新一代的模板引擎,它功能强大,性能良好,超过当前流行的模板引擎。而且还易学易用。官网:http://ibeetl.com/

优势:

1、简单易用

Beetl类似Javascript语法和习俗,只要半小时就能通过半学半猜完全掌握用法。拒绝其他模板引擎那种非人性化的语法和习俗。同时也能支持html 标签,使得开发CMS系统比较容易

2、易于整合

Beetl能很容易的与各种web框架整合,如Act Framework,Spring MVC,Struts,Nutz,Jodd,Servlet,JFinal等。支持模板单独开发和测试,即在MVC架构中,即使没有M和C部分,也能开发和测试模板。

3、性能卓越

Beetl远超过主流java模板引擎性能(引擎性能5-6倍与freemaker,2倍于JSP),宏观上通过了优化的渲染引擎,IO的二进制输出,字节码属性访问增强,微观上通过一维数组保存上下文Context,静态文本合并处理,重复使用字节数组来防止java频繁的创建和销毁数组,还使用模板缓存,运行时优化等方法。

Beetl和国内外知名模板性能对比图如下所示:

使用

Maven项目直接添加下面的依赖

<!--模板引擎-->
<dependency>
   <groupId>com.ibeetl</groupId>
   <artifactId>beetl</artifactId>
   <version>3.0.11.RELEASE</version>
</dependency>                  

先来个demo

import org.beetl.core.Configuration;
import org.beetl.core.GroupTemplate;
import org.beetl.core.Template;
import org.beetl.core.resource.StringTemplateResourceLoader;
import org.junit.Test;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import static org.beetl.core.BeetlKit.gt;

/**
 * @Description:
 * @Author: admin
 * @Date: 2020/12/3 11:04
 * @Copyright: Fujian Linewell Software Co., Ltd. All rights reserved.
 */

public class BeetlTemplateTest {

    @Test
    public void initTemplate() throws IOException {
        //new一个模板资源加载器
        StringTemplateResourceLoader resourceLoader = new StringTemplateResourceLoader();
        /* 使用Beetl默认的配置。
         * Beetl可以使用配置文件的方式去配置,但由于此处是直接上手的例子,
         * 我们不去管配置的问题,只需要基本的默认配置就可以了。
         */
        Configuration config = Configuration.defaultConfiguration();
        //Beetl的核心GroupTemplate
        GroupTemplate groupTemplate = new GroupTemplate(resourceLoader, config);
        String testTemplate="<html>\n" +
                "<head>\n" +
                "\t<title>This is a test template Email.</title>\n" +
                "</head>\n" +
                "<body>\n" +
                "\t<h1>beetl</h1>\n" +
                "<%" +
                " for(entry in map){" +
                "   println(entry.key+\":\"+entry.value);}%>"+
                "</body>\n" +
                "</html>";
        Template t = gt.getTemplate(testTemplate);
        Map<String,String> data=new HashMap<String,String>();
        data.put("name","hahah");
        data.put("age","12");
        //把map类型数据绑定到占位符map上,但在Beetl中使用循环时不需要用${}
        t.binding("map",data);
        String str = t.render();
        System.out.println(str);
    }
}

说明:

第一步,Beetl的核心是GroupTemplate,创建GroupTemplate需要俩个参数,一个是模板资源加载器,一个是配置类。Beetl的使用很简单,我们首先需要一个模板资源加载器(实际上有六种不同的模板资源加载器),和Beetl的配置来创建Beetl核心GroupTemplate。

第二步,我们需要通过GroupTemplate将自己定义的String模板加载为Beetl模板——Template。

第三步,我们使用template中的操作,将数据和占位符绑定。

第四步,渲染最终的文本。

运行上面的demo,渲染成功的结果应该是这样的:

<html>
<head>
	<title>This is a test template Email.</title>
</head>
<body>
	<h1>beetl</h1>
name:hahah
age:12
</body>
</html>

官网提供了在线体验功能,这里就不一一说明了,具体的使用语法请参考:http://ibeetl.com/beetlonline/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值