Velocity可以设置默认值吗?

lg_asus 2012-12-14 11:43:40
如果VelocityContext中没有值,那么vm文件中,我不要直接输出标签,而是输出一个默认值。

请问:默认值在哪设置?

我尝试重写AbstractContext.internalGet()但是这个方法返回的值竟然还要被Velocity强转成Node对象。
我不知道怎么去生成Node对象,而且感觉这种方法复杂,不想这样做。

还有一个问题:vm文件中的变量有可能是小写字符,但是现在我的Context里的值都是大写的。如:vm中有$userName, 但是Context中却是USERNAME=helloworld,(这个问题产生的原因:userName是我们模型系统中的字段,但是我们的系统在取值的时候通通把所有的字段都变成大写了,就成了USERNAME,这是系统架构方面的原因。现在我不想让在vm中写成大写,因此前面说了userName是模型系统里的字段,用户是根据模型系统字段来修改vm文件的,所以要是让他们改成大写会比较别扭,所以我想问:有没有方法在把context的值写入到vm的时候,把vm中变量转换成大写然后再写值呢?

多谢!
...全文
742 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lirui_andy 2013-12-25
  • 打赏
  • 举报
回复
如果变量没有赋值默认情况会输出表达式.使用"!"可以使其不输出表达式. 如$!email, $!email.size, $!{email.size}等都可以. 但它只是输出空白,不知道如何指定自定义的替代输出. 参考 http://velocity.apache.org/engine/devel/user-guide.html 页面的"Quiet Reference Notation"一节.
十年彩虹 2013-04-22
  • 打赏
  • 举报
回复
接分,结贴。
hit_pp 2012-12-17
  • 打赏
  • 举报
回复
可以~~ 自己修改一下然后运行程序试试
傲雪kimi 2012-12-16
  • 打赏
  • 举报
回复
velocity还不会呢,帮顶吧
lg_asus 2012-12-16
  • 打赏
  • 举报
回复
好冷清啊,用velocity的人如此少?
  • 打赏
  • 举报
回复
帮忙顶起来。

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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