velocity如何取消自动输出的换行标签?
使用xwiki时发现velocity很强大,能自动帮助我们做很多事情。
但有的时候自动化并不是我们真正需要的。
比如有如下这段代码
#macro(getStateDesc $level)
#if($level>0)
已登录
#else
未登录
#end
#end
你好,#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)的用户。
#if($level>0)
已登录##
#else
未登录##
#end
#end
你好,#getStateDesc($level)的用户。
这样就能得到我们期望的结果啦。