速度:#if,#else和#end之前或之后的空格?

时间:2017-12-13 18:47:22

标签: java velocity

我继承了几个使用Velocity代码的项目。 http://velocity.apache.org/

对于那些对Velocity更有经验的人,我的问题可能很简单,也许有些天真,但我必须修复代码中处理extra spacesmissing 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 

这有效吗?我问同事我们在elseend之前或之后是否需要空格,但他们声称他们并不知道。有人说,"总是在#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?

1 个答案:

答案 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