jodd-StringTemplateParser使用

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

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

简单示例如下:

String template = "Hello ${foo}. Today is ${dayName}."</span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; prepare data</span> Map<String,String> map = <span style="color: #0000ff;"&gt;new</span> HashMap<String,String><span style="color: #000000;"&gt;(); map.put(</span>"foo","Jodd"<span style="color: #000000;"&gt;); map.put(</span>"dayName","Sunday"<span style="color: #000000;"&gt;); ... </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; parse</span> StringTemplateParser stp = <span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; StringTemplateParser(); String result </span>= stp.parse(template,<span style="color: #0000ff;"&gt;new</span><span style="color: #000000;"&gt; MacroResolver() { </span><span style="color: #0000ff;"&gt;public</span><span style="color: #000000;"&gt; String resolve(String macroName) { </span><span style="color: #0000ff;"&gt;return</span><span style="color: #000000;"&gt; map.get(macroName); } }); </span><span style="color: #008000;"&gt;//</span><span style="color: #008000;"&gt; result == "Hello Jodd. Today is Sunday."</span></pre>

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

参考文献:

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

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...