我继承了几个使用Velocity代码的项目。 http://velocity.apache.org/
对于那些对Velocity更有经验的人,我的问题可能很简单,也许有些天真,但我必须修复代码中处理extra spaces
或missing spaces
的错误。
#if (${INCOMPLETE_ACCOUNT})Click "Use Now" to confirm your new Acme ID account $!{MM_ID}. You will be asked to create a password if you haven’t already done so. #elseClick below to download or sign into your new products.#end
这有效吗?我问同事我们在else
和end
之前或之后是否需要空格,但他们声称他们并不知道。有人说,"总是在#end
之前放一个空格。"但是,他们实际上并没有遵循这条规则。
我找到了一些文档解释说文本中的else
(如上例所示)应该像这样使用:
#if( $foo == $bar)it's true!#{else}it's not!#end
(参见:http://people.apache.org/~henning/velocity/html/ch05s03.html)
问题:我在哪里需要空格? #{else}
目前是否可以安全使用?有没有一种方法可以推荐?您如何在代码中使用#if
,#else
和#end?
答案 0 :(得分:1)
你在速度方面不需要spaces:
Velocity的行为是吞噬多余的空白。
#set($foo=["$10 and ","a pie"])#foreach($a in $foo)$a#end
有时您无法添加空格,因为您渲染的文件对空格不容忍。
关于使用#{else}
在其他地方后立即撰写文字,您可以按照mailing list中的建议更改为使用速度评论:
#if( $foo == $bar)it's true!#else#**#it's not!#end