import java.text.ParseException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; public class StringTemplateUtils { public static final String DEF_REGEX="\\{(.+?)\\}"; public static String render(String template, Map<String, String> data) {
return render(template,data,DEF_REGEX);
} public static String render(String template, Map<String, String> data,String regex) {
if(StringUtils.isBlank(template)){
return "";
}
if(StringUtils.isBlank(regex)){
return template;
}
if(data == null || data.size() == 0){
return template;
}
try {
StringBuffer sb = new StringBuffer();
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(template);
while (matcher.find()) {
String name = matcher.group(1);// 键名
String value = data.get(name);// 键值
if (value == null) {value = "";}
matcher.appendReplacement(sb, value);
}
matcher.appendTail(sb);
return sb.toString();
} catch (Exception e) {
e.printStackTrace();
}
return template; } public static void main(String args[]) throws ParseException {
String template="您提现{borrowAmount}元至尾号{tailNo}的请求失败,您可以重新提交提款申请。";
Map<String, String> data = new HashMap<String, String>();
data.put("borrowAmount", "1000.00");
data.put("tailNo", "1234");
System.out.println(render(template,data));
}
}

  

java模板引擎替换代码的更多相关文章

  1. springboot:Java模板引擎Thymeleaf介绍

    Thymeleaf是一款用于渲染XML/XHTML/HTML5内容的模板引擎.类似JSP,Velocity,FreeMaker等,它也可以轻易的与Spring MVC等Web框架进行集成作为Web应用 ...

  2. Thymeleaf(Java模板引擎)

    一.概念 1.Thymeleaf是Web和独立环境的开源的Java模板引擎,能够处理HTML,XML,JavaScript,CSS甚至纯文本:2.Thymeleaf可以在Web(基于Servlet)和 ...

  3. 新一代Java模板引擎Thymeleaf

    新一代Java模板引擎Thymeleaf-spring,thymeleaf,springboot,java 相关文章-天码营 https://www.tianmaying.com/tutorial/u ...

  4. Beetl学习总结(1)——新一代java模板引擎典范 Beetl入门

    1. 什么是Beetl Beetl目前版本是2.7.0,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点.使得开发和维护模板有很好的体验.是新一代的模板引擎. ...

  5. jetbrick,新一代 Java 模板引擎,具有高性能和高扩展性

    新一代 Java 模板引擎,具有高性能和高扩展性. <!-- Jetbrick Template Engineer --> <dependency> <groupId&g ...

  6. Java 模板引擎 jetbrick-template

    jetbrick-template 是一个新一代 Java 模板引擎,具有高性能和高扩展性. 适合于动态 HTML 页面输出或者代码生成,可替代 JSP 页面或者 Velocity 等模板. 指令和 ...

  7. Java模板引擎 HTTL

    新一代java模板引擎典范 Beetl http://www.oschina.net/p/httl HTTL(Hyper-Text Template Language)是一个高性能的开源JAVA模板引 ...

  8. httl开源JAVA模板引擎,动态HTML页面输出

    HTTL(Hyper-Text Template Language)是一个适用于HTML输出的开源JAVA模板引擎,适用于动态HTML页面输出,可用于替代JSP页面,它的指令类似于Velocity. ...

  9. 阅读优秀的JAVA模板引擎Beetl的使用说明有感

    由于项目需要,对包括Beetl在内的JAVA模板引擎技术进行了学习 Beetl是由国人李家智(昵称闲大赋)开发的一款高性能JAVA模板引擎,对标产品是Freemaker 感慨于近几年国内开源项目的蓬勃 ...

随机推荐

  1. Android fragment 切换载入数据卡顿问题

    接着上一篇项目的进度.上一篇讲了怎样利用fragment来实现下拉菜单.公用菜单,以实现切换主界面数据的功能,这时候遇到的问题是:使用了fragment的切换界面方法.但载入的数据太多.用户从一个界面 ...

  2. 安装Tomcat指定JDK ——转

    转自:http://www.cnblogs.com/lioillioil/archive/2011/10/08/2202169.html 一.应用实例 一般情况下一台服务器只跑一个业务,那么就直接配置 ...

  3. 我如何向HRMM介绍MICROSERVICE

    一天我司招才猫姐(HR 大人)问我,你给我解释一下 Microservice 是什么吧.故成此文.一切都是从一个创业公司开始的. 第一章:从集中到分权 最近的创业潮非常火爆,我禁不住诱惑也掺和了进去, ...

  4. java中,静态代码块static的简单简介

    直接上代码,更直观,包括一些解释: /** * 类初始化时,首先加载静态代码块, * 注意:所有静态代码块都会在方法之前执行,不管放置的位置:但是静态代码块按照顺序执行 * 再次执行调用的方法 */ ...

  5. JAVA 画图机制

    java学习脚印:深入java绘图机制 写在前面 封装性越好的类在使用时,只要清楚接口即可,而不应该让程序员了解其内部结构; 对于平常的绘图来讲,java绘图机制无需了解太多,但是朦胧容易产生错误,绘 ...

  6. 使用WinScp连接远程服务器和传输文件

    早在3月份,我就使用到了WinScp,WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端.同时支持SCP协议. 它的主要功能就是在本地与远程计算机间安全的复制文件..WinSc ...

  7. java设计模式之组合

    听说你们公司最近新推出了一款电子书阅读应用,市场反应很不错,应用里还有图书商城,用户可以在其中随意选购自己喜欢的书籍.你们公司也是对此项目高度重视,加大了投入力度,决定给此应用再增加点功能. 好吧,你 ...

  8. 关于vector push_back()与其他方式读取数据的效率对比(转)

    引言: 在读取大量数据(数组)时,使用vector会尽量保证不会炸空间(MLE),但是相比于scanf的读取方式会慢上不少.但到底效率相差有多大,我们将通过对比测试得到结果. 测试数据:利用srand ...

  9. list_entry(ptr, type, member)——知道结构体内某一成员变量地址,求结构体地址

    #define list_entry(ptr, type, member) \ ((type *)(() -> member))) 解释: 1 在0这个地址看做有一个虚拟的type类型的变量,那 ...

  10. 【VBA编程】07.循环结构语句

    [FOR...NEXT语句] For counter = start To End [Step step] [statements] [Exit For] [statements] Next [cou ...