jodd-StringTemplateParser使用

StringTemplateParser 时一个string模板的解析器。在string模板中定义类似jsp标签的宏。

在解析过程中,宏被对值替换,值通过自定义的MacroResolver解析得到。

简单示例如下:

    // prepare template
    String template = "Hello ${foo}. Today is ${dayName}.";
    ...

    // prepare data
    Map<String, String> map = new HashMap<String, String>();
    map.put("foo", "Jodd");
    map.put("dayName", "Sunday");
    ...

    // parse
    StringTemplateParser stp = new StringTemplateParser();
    String result = stp.parse(template, new MacroResolver() {
        public String resolve(String macroName) {
            return map.get(macroName);
        }
    });
    // result == "Hello Jodd. Today is Sunday."

StringTemplateParser是可配置的,用户可以设置转义符,或者开始、结尾string(默认是${和})。

参考文献:

[1]http://jodd.org/doc/stringtemplateparser.html

时间: 2024-07-29 15:05:56

jodd-StringTemplateParser使用的相关文章

Java常用工具包Jodd详解【java开发学习】

Jodd是一个Java工具包和微型框架,Jodd 工具包含一些实用的工具类和小型框架,增强了 JDK 提供很多强大的功能,可以帮助实现日常的开发任务,让代码更可靠:而Jodd 框架是一个轻量级的应用框架,设计遵循CoC.DRY和SCS原则,让开发更加简单. Jodd被分成众多模块,可按需选择,常用的Jodd模块有: Jodd工具类模块 1. jodd-core 一些工具类,包括Printf.JDateTime.StringUtil.Fast buffers等等 2. jodd-bean Bean

jodd源代码中创建SSLSocketFactory

SocketHttpConnectionProvider: protected SSLSocketFactory getDefaultSSLSocketFactory(boolean trustAllCertificates) throws IOException { if (trustAllCertificates) { try { SSLContext sc = SSLContext.getInstance("SSL"); sc.init(null, TrustManagers.T

2014年工作中遇到的10个问题:221-230

221.新建Maven项目的2种方式. a.新建Dynamic Web Project,然后转换成Maven项目. b.新建Maven Project,Next,Next,选择cocoon-22-archetype-webapp. 第2种方式,是boss告诉我的,以前我一直喜欢用第1种方式. 第2种方式,暂时没有去实践.上次尝试了下,报错,郁闷~ 222.web.xml中配置taglib. 在Eclipse中会在taglib那一行有一个错误标志,但是运行的 时候没有问题-- 原因: 所使用版本的

豆瓣App中用到的一些框架

1.Google Gsonhttps://code.google.com/p/google-gson/ 2.httpmimehttp://hc.apache.org/ 3.Commons IOhttp://commons.apache.org/proper/commons-io 4.Android Nexthttps://github.com/mcxiaoke/Android-Next 5.Butter Knifehttps://github.com/JakeWharton/butterknif

Beetl2.2使用说明书20151201

李家智<[email protected]> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 2.3. 模板资源加载器 2.4. 定界符与占位符号 2.5. 注释 2.6. 临时变量定义 2.7. 全局变量定义 2.8. 共享变量 2.9. 模板变量 2.10. 引用属性 2.11. 算数表达式 2.12. 逻辑表达式 2.13. 循环语句 2.14. 条件语句 2.15. try-catch 2.

(转)java缓存技术,记录

http://blog.csdn.net/madun/article/details/8569860 最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考.此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-ehcache 介绍 JNotify:http://jnotify.sourceforge.net/,通过JNI

java中IO写文件工具类

下面是一些根据常用java类进行组装的对文件进行操作的类,平时,我更喜欢使用Jodd.io中提供的一些对文件的操作类,里面的方法写的简单易懂. 其中jodd中提供的JavaUtil类中提供的方法足够我们使用,里面的方法写的非常简练,例如append,read等方法,封装更好,更符合面向对象, 这里面我写的一些方法可多都是模仿jodd,从里面进行抽取出来的. /** * 获取路径文件夹下的所有文件 * @param path * @return */ public static File[] ge

雷观(十二):构建基础库,提升研发效率

观点:IT之所以迅速普及,进入到每个人的生活.一方面是由于,IT相关技术产品,给每个人带来了丰富的虚拟世界和娱乐生活.另一方面,它大大提升了大部分行业的生产效率.社会生产力的发展方向,就是时代的发展方向.   程序员等IT技术人员,在IT届的地位,就像IT在社会生活中的地位:不可或缺.普遍存在.生产力的关键. 作为一名自学6年多的程序员,对技术的追求从未曾放弃.但我也终究意识到,纯粹的技术无法带我到达理想境界,而生产力的提高才可以把我从繁杂的基础工作中解脱出来,可以把我带向幸福美好的生活中. 与

JAVA缓存技术

最近再ITEYE上看到关于讨论JAVA缓存技术的帖子比较多,自己不懂,所以上网大概搜了下,找到一篇,暂作保存,后面如果有用到可以参考.此为转贴,帖子来处:http://cogipard.info/articles/cache-static-files-with-jnotify-and-ehcache 介绍 JNotify:http://jnotify.sourceforge.net/,通过JNI技术,让Java代码可以实时的监控制定文件夹内文件的变动信息,支持Linux/Windows/MacO