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

标签 java velocity

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

我的问题可能很简单,对于那些对 Velocity 更有经验的人来说可能有点天真,但我必须修复处理额外空格缺少空格的错误在代码中。

#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?

最佳答案

您不需要spaces速度:

Velocity's behaviour is to gobble up excess whitespace.

#set($foo=["$10 and ","a pie"])#foreach($a in $foo)$a#end

有时您无法添加空格,因为您正在渲染的文件不允许空格。

关于使用 #{else} 在 else 之后写入文本,您可以更改为在之后使用速度注释,如 mailing list 中的建议。 :

#if( $foo == $bar)it's true!#else#**#it's not!#end

关于java - 速度:#if、#else 和 #end 之前或之后的空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47800138/

相关文章:

java - 使用java更改h2数据库创建位置

java - 将 Velocity 宏转换为 Java 指令

java - 在 Velocity 模板中调用宏函数

java - 我正在学习java中的异常处理(基本上是继承)

java - Maven 测试中集成的 SoapUI Mock

java - 输入后我的按钮无法激活,我不明白为什么

velocity - 按名称调用 Velocity 宏

java - 如何在循环中更改 JLabel 的文本而不切换得太快以至于用户看不到它?

java - 如何使用 Velocity NumberTool 计算大货币数字

jboss - 更改 Velocity.Log 文件的位置