velocity如何取消自动输出的换行标签?

使用xwiki时发现velocity很强大,能自动帮助我们做很多事情。

但有的时候自动化并不是我们真正需要的。

 

比如有如下这段代码

#macro(getStateDesc $level)
  
#if($level>0)
    已登录
  
#else
    未登录
  #
end
#
end
你好,#getStateDesc($level)的用户。

 

 我们本来是期望输出这样的格式

你好,未登录的用户

 

 

但是由于velocity会自动在每一行后面加个换行,根据情况不同,有时是"<br/>",有时是"<p/>" 。

所以我们实际看到的格式会是这样:

你好,未登录
的用户

 

 

这样,格式就错了,非常讨厌。

velocity的文档和FAQ都没写要怎么取消自动换行。搜索查了很久也没有具体解答。

后来继续翻xwiki带的template,发现了解决方案——就是在对应行最后加上##就可以了(##是velocity的注释标签),代码如下:

#macro(getStateDesc $level)
  
#if($level>0)
    已登录##
  
#else
    未登录##
  #
end
#
end
你好,#getStateDesc($level)的用户。

 

 

这样就能得到我们期望的结果啦。

 

 

posted @ 2010-05-14 18:53  瘦狐狸  阅读(3718)  评论(0编辑  收藏  举报