前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JetBrick 入门详解

JetBrick 入门详解

作者头像
全栈程序员站长
发布2022-07-05 12:34:24
2720
发布2022-07-05 12:34:24
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1.概述:

最近项目中使用到了模板,领导让鄙人上网查找一个模板工具类,自己看了FreeMarker,Velocity和Beetl等,但是这些都各有利弊,FreeMarker功能强大,但是过于繁重,因为自己的应用场景比较简单,故放弃了FreeMarker。Velocity功能也是够用,而且有Apache的支持,但是Velocity在Maven上最近的更新版本还需要追寻到2010年,实在是让小编不理解,看来是被Apache放弃了,故最后也放弃了。Beetl由闲大赋开发(http://ibeetl.com/community/ ),并且在Maven上每个月都有更新,小编十分佩服,而且网上对Beetl争论比较多,故也放弃了。

JetBrick号称是轻量级的下一代模板引擎,语法与Velocity类似,而且官网文档齐全(http://subchen.github.io/jetbrick-template/2x/overview.html),故选择了JetBrick。

2.实战:

JetBrick的Maven地址如下:

代码语言:javascript
复制
<!--jetbrick 模板引擎工具-->
<dependency>
    <groupId>com.github.subchen</groupId>
    <artifactId>jetbrick-template</artifactId>
    <version>2.1.2</version>
</dependency>

模板文件:

users.jetx

代码语言:javascript
复制
亲爱的${username},您好:

    您在****上有1项工作需要处理,请点击链接登录首页:${url}

    如果您的email程序不支持链接点击,请将上面的地址拷贝至您的浏览器(如IE)的地址栏进入。

    如果您还有其他疑问,请可以发送邮件至:${email}。

    我们因此对您产生的不便,深表歉意。

    ****希望您度过快乐的时光!

---------------------------------
此信由****自动发出,请勿直接回复,谢谢!

测试类

JetxTest.java

代码语言:javascript
复制
package demo;

import jetbrick.template.JetEngine;
import jetbrick.template.JetTemplate;

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

public class JetxTest {


    public static void main(String[] args) {
        //创建引擎
        JetEngine engine = JetEngine.create();
              //得到模板文件内容
        JetTemplate template = engine.getTemplate("users.jetx");       //.getTemplate(templateStr);
        //设置需要替换的变量值
        Map<String, Object> context = new HashMap<String, Object>();
        context.put("username","张三");
        context.put("email","zhangsan@qq.com");
        context.put("url","www.123.com");
        
        StringWriter writer = new StringWriter();
        //模板转换
        template.render(context, writer);
        //输出结果
        System.out.println(writer.toString());

    }

}

输出结果:

代码语言:javascript
复制
亲爱的张三,您好:

    您在****上有1项工作需要处理,请点击链接登录首页:www.123.com

    如果您的email程序不支持链接点击,请将上面的地址拷贝至您的浏览器(如IE)的地址栏进入。

    如果您还有其他疑问,请可以发送邮件至:zhangsan@qq.com。

    我们因此对您产生的不便,深表歉意。

    ****希望您度过快乐的时光!

---------------------------------
此信由****自动发出,请勿直接回复,谢谢!

看,简单吧

不使用.jetx文件,直接使用文本示例:

代码语言:javascript
复制
import jetbrick.template.JetEngine;
import jetbrick.template.JetTemplate;

import java.io.StringWriter;
import java.util.Map;

public class JetBrickUtils {

    private static final JetEngine engine = JetEngine.create();

    public static String getContent(String template, Map<String, Object> bindings) {

        JetTemplate jetTemplate = engine.createTemplate(template);
        StringWriter writer = new StringWriter();
        jetTemplate.render(bindings, writer);

        return writer.toString();
    }

}

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.概述:
  • 2.实战:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档