JetBrick 入门详解

JetBrick 入门详解JetBrick的简单使用方法,仅作为简单的入门,不做内部详细的探讨。

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

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地址如下:

 

<!--jetbrick 模板引擎工具-->
<dependency>
    <groupId>com.github.subchen</groupId>
    <artifactId>jetbrick-template</artifactId>
    <version>2.1.2</version>
</dependency>

模板文件:

 

users.jetx

 

亲爱的${username},您好:

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

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

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

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

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

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

测试类

 

JetxTest.java

 

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());

    }

}

 

 

 

 

 

 

输出结果:

 

亲爱的张三,您好:

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

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

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

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

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

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

 

 

 

看,简单吧

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

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();
    }

}

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • jquery插件autoComplete自动弹出

    jquery插件autoComplete自动弹出

  • 项目范围管理「建议收藏」

    项目范围管理「建议收藏」1、项目范围管理要做好以下三方面工作:1)明确项目边界2)对项目执行工作进行监控3)防止项目范围发生蔓延2、项目的范围基准是经过批准的项目范围说明书、WBS和WBS字典。判断项目是否完成要以范

  • 树莓派配置记录——aria2

    aria2是linux下的一个下载利器,支持http/BT/磁力连。本身是命令行程序,支持rpc连接,因此可以编程控制,github上有很多优秀的webUI,非常适合树莓派。aria2本身的配置选项很多,完整的列表在这里下面是我的配置,放在~/.aria2/aria2.config文件中#默认下载路径dir=/home/pi/Downloads#下载前预创建文件,ext4可…

  • SVN安装与使用_刚安装ETC不能马上使用吗

    SVN安装与使用_刚安装ETC不能马上使用吗SVN(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE),几乎95%以上的项目都用到了SVN。Subversion项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。svn是基于客户/服务器模式,所以分客户端和服务器端,作为开发人员,自己的电脑上只需要安装客户端,又…

  • 2019年5月25更新——“运动世界校园”软件破解

    一、软件工作原理软件和后台使用API进行交互,在早期版本中API没有鉴权导致可以通过伪造请求来完成跑步,但是后期API迭代了好几个版本,目前认为现在的请求需要间隔一个合理的时间差(跑步时间),而且需要计算一个token用来鉴权,避免了伪造请求。 跑步开始和跑步完成时,会记录时间、设备序列号、IMEI等敏感信息,上传服务器。此操作用来记录手机设备唯一性,用来检测频繁换手机,一台设备上登陆不同账…

  • 基于 SpringBoot + Vue 的商城系统附带小程序源码

    简介 又一个小商场系统,Spring Boot后端 + Vue管理员前端 + 微信小程序用户前端 + Vue用户移动端。 项目架构 技术栈 Spring Boo…

发表回复

您的电子邮箱地址不会被公开。

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