java 字符串占位符替换之字符串占位符实现(java简单模板渲染实现)
2015-02-15 09:53
821 查看
简单实现
关于java字符串占位符替换,专业方式是使用String.format和MessageFormat.format功能,这里提供个简单的基于正则实现的字符串占位符实现
使用freemarker等模板引擎
关于java字符串占位符替换,专业方式是使用String.format和MessageFormat.format功能,这里提供个简单的基于正则实现的字符串占位符实现
public static String tpl(String tplStr,Map<String, Object> data ) { Matcher m=Pattern.compile("\\{([\\w\\.]*)\\}").matcher(tplStr); while(m.find()){ String group=m.group(); group= group.replaceAll("\\{|\\}", ""); String value=""; if(null!=data.get(group)){ value=String.valueOf(data.get(group)); } tplStr=tplStr.replace(m.group(),value); } return tplStr; }
使用freemarker等模板引擎
private String defaultCharacter = "UTF-8"; private Configuration cfg; public FreemarkerUtils() { cfg = new Configuration(); cfg.setDefaultEncoding(defaultCharacter); cfg.setTagSyntax(Configuration.AUTO_DETECT_TAG_SYNTAX); } public String generateString( Map<String, Object> data, String tplStr) { String result = null; String name="myStrTpl"; try { StringTemplateLoader stringTemplateLoader= new StringTemplateLoader(); stringTemplateLoader.putTemplate(name, tplStr); cfg.setTemplateLoader(stringTemplateLoader); Template template = cfg.getTemplate(name,defaultCharacter); StringWriter out = new StringWriter(); template.process(data, out); out.flush(); result= out.toString(); out.close(); } catch (Exception e) { e.printStackTrace(); } return result; }
相关文章推荐
- Java实现的一个简单的模板渲染
- 一行代码实现一个简单的模板字符串替换
- Java实现简单的模板渲染
- 实现简单模板字符串替换
- java 字符串作为freemarker模板的简单实现例子
- 剑指offer算法 java实现 替换字符串空格
- 剑指offer算法 java实现 替换字符串空格
- JAVA字符串占位符替换
- java 不复制字符串前提下替换字符串中的空格算法实现O(n)
- 替换文件中某个字符串并写入新内容(Java代码实现)
- 【Java】字符串模板替换
- oracle trim函数与字符串替换的内存实现简单猜测
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- 用Java实现的字符串简单加密
- JAVA字符串占位符替换
- 一个简单的Java模板工具类(二)—简单表达式解析实现
- java如何实现字符串的反转及替换
- JAVA简单实现不区分大小写以及空格比较字符串
- Qt与Java实现Tcp网络通信,收发简单字符串。
- 字符串中的空格替换JAVA实现