FreeMarker的取特殊符号值的问题

liyicun 2013-06-07 10:28:38
1.FreeMarker 最新版本
2.java代码

Map root =new HashMap();
root.put("name.full", "组成及基本语法详解");

3.在freemarker模块里面xxx.ftl
${name.full} 是报错

${name\.full} 是不行

${"name.full"} 打印的是“name.full”


问题:如果要他正确打印出“组成及基本语法详解”这一段文字,该怎么做?
...全文
524 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liyicun 2013-06-07
  • 打赏
  • 举报
回复
引用 5 楼 fangmingshijie 的回复:
改为${'name.full'}或者${name.full?trim}试试,估计不行。
不行哦!还有没有其他调用形式 ${'name.full'} ${"name.full"} 打印的是name.full ${name.full?trim} 报错
  • 打赏
  • 举报
回复
改为${'name.full'}或者${name.full?trim}试试,估计不行。
liyicun 2013-06-07
  • 打赏
  • 举报
回复
引用 3 楼 fangmingshijie 的回复:
它是把.当做调用方法的概念了。你name不是对象,full也不是方法。肯定会错。
那有什么办法解决这个问题,除了修改name.full为name_full这个方法。
  • 打赏
  • 举报
回复
它是把.当做调用方法的概念了。你name不是对象,full也不是方法。肯定会错。
liyicun 2013-06-07
  • 打赏
  • 举报
回复
引用 1 楼 fangmingshijie 的回复:
root.put("name.full", "组成及基本语法详解");改为 root.put("name_full", "组成及基本语法详解");
不能,我就是要做个如果是把点改成_ 这个我知道怎么解决。我是中间带“点”的字符怎么拿出来他的值
  • 打赏
  • 举报
回复
root.put("name.full", "组成及基本语法详解");改为 root.put("name_full", "组成及基本语法详解");
  • 打赏
  • 举报
回复
你这是么子需求哦,,没法实现啊。。。 我想到一个办法,,你把这个元素,放入一个map中,, Map map = new HashMap(); map.put("name.full", "组成及基本语法详解"); root.put("map",map); 然后取值的时候 用 $(map["name.full"]) 这样子 应该不会把点当取对象的属性了。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧