Velocity奇怪的替换策略

刘文豪 发布于 2011/08/13 00:33
阅读 530
收藏 0

在做一个小工具的时候.模版代码如下:

 

final static Logger logger = LoggerFactory.getLogger($domain.getDomainName()ServiceImpl.class);

如果$domain.getDomainName()="User",生成的代码竟然是下面这样

final static Logger logger = LoggerFactory.getLogger(UserServiceImpl);

红色部分的.class竟然没有了.

可以排除添加了.class的键.

因为我只添加了domain的键

还有Velocity的分界线也太不明显了.之前用的是直接用单值来处理模版$_DOMAIN_NAME_

如果碰到要生成

public class classNameDao {}

这种格式的数据

模版写成

public class $_DOMAIN_NAME_Dao{}

是处理不了的.

所以建议使用Velocity的朋友使用$键+.get属性的方式来处理模版.

 

以下是话题补充:

@刘文豪:Velocity的版本是1.7 (2011/08/13 00:34)
加载中
1
刘文豪
刘文豪

是我自己的错误.Velocity的是有分界符{}的

详见:http://velocity.apache.org/engine/devel/user-guide.html#formalreferencenotation

返回顶部
顶部