速度模板中的增量映射

时间:2016-01-26 17:32:22

标签: java mapping velocity

我有以下速度模板:

hi, $name

当我的velocityContext看起来如下:

'name' => 'Tom, $lastName'
'lastName' => 'Peter'

现在当我在模板上映射上下文时,我得到了

  

嗨,汤姆,$ lastName

而我想要实现的是

  嗨,汤姆,彼得

表示我想逐步应用更改,而不是一次应用所有更改。以前有人这么做过吗?

1 个答案:

答案 0 :(得分:1)

$name不包含值,它本身就是一个模板,因此需要对其进行评估。所以你需要使用工具来渲染它:

  • 如果您有权访问Velocity视图工具,请使用ViewRenderTool,如下所示:hi, $render.recurse("$name")
  • 如果您只能访问Velocity通用工具,那么您需要自己公开上下文(例如在context键下)并使用RenderTool,如下所示:{{1} }
  • 否则,您必须使用自己的评估工具,或更改实施以避免需要递归评估。