【问题标题】:Set does not work in velocity设置在速度上不起作用
【发布时间】:2010-06-06 07:38:45
【问题描述】:

如下所示,看起来 set 在速度上不起作用:

#set (${modifier} = "some")

如果我这样做#set ($modifier = "some"),它会起作用。这有什么原因吗?

EDIT :它不起作用意味着没有设置变量。

【问题讨论】:

  • 您能否详细说明“不起作用”的含义?

标签: java velocity


【解决方案1】:

这是因为 ${varname} 不是 reference manual 中定义的速度中的有效变量名

我也经常对这些看似随机的语法变化感到困惑。

【讨论】:

  • 我猜你可以将 var 引用为 ${varname} 但这样定义它。
  • 我认为语法在过去 10 年没有改变——即使在 WebMacro(Velocity 的祖父)中也是如此。只需使用 $ 符号即可定义变量。花括号用于引用对象及其子对象图并将它们与环境分开:例如其中文本将在变量的末尾继续,因此 Velocity 现在需要知道文本是什么以及变量是什么。
  • 我指的是上下文变化。 Velocity 使用与 bash 和 perl 相同的原理来解决区分 varname 和其余文本的问题。
猜你喜欢
  • 1970-01-01
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 2021-05-17
  • 2022-08-04
  • 1970-01-01
相关资源
最近更新 更多