FreeMarker字符串操作

FreeMarker的表达式对字符串操作非常灵活,可以将字符串常量和变量连接起来,也可以返回字符串的子串等.

字符串连接有两种语法: 1,使用${..}或#{..}在字符串常量部分插入表达式的值,从而完成字符串连接. 2,直接使用连接运算符+来连接字符串

 例如有如下数据模型: Map root = new HashMap(); root.put("user","annlee"); 下面将user变量和常量连接起来:  ${"hello, ${user}!"}   //使用第一种语法来连接 ${"hello, " + user + "!"} //使用+号来连接  上面的输出字符串都是hello,annlee!,可以看出这两种语法的效果完全一样.

值得注意的是,${..}只能用于文本部分,不能用于表达式,下面的代码是错误的:  <#if ${isBig}>Wow!</#if>  <#if "${isBig}">Wow!</#if> 应该写成:<#if isBig>Wow!</#if>

截取子串可以根据字符串的索引来进行,截取子串时如果只指定了一个索引值,则用于取得字符串中指定索引所对应的字符;如果指定两个索引值,则返回两个索引中间的字符串子串.假如有如下数据模型: Map root = new HashMap(); root.put("book","struts2,freemarker"); 可以通过如下语法来截取子串:  ${book[0]}${book[4]}   //结果是su  ${book[1..4]}     //结果是tru

posted @ 2015-01-12 16:41  紫发少年  阅读(2039)  评论(0编辑  收藏  举报