Apache Velocity:逃脱角色无法正常工作

时间:2012-04-17 17:18:39

标签: java templates velocity

我正在使用Velocity生成java代码,我遇到了模板中以下行的问题:

return Marshal$sdo.getName().dynamicSize(this);

所需的输出为:

return MarshalSomeClass.dynamicSize(this);

在这种情况下,VLT仅限于“$ sdo.getName()”,但尾随“。”导致它不评估VLT部分。

当我试图逃避“。” (例如$sdo.getName()\.dynamicSize)我得到以下输出:

return MarshalTestTypesFile\.dynamicSize(this);

我试过分配“。”到VLT变量并用花括号包裹它,但随后打印花括号。我试过{$sdo.getName()}并遇到同样的问题。我已经尝试了所有其他技巧逃脱无济于事。看起来它应该很简单,但我很难过。我在这里缺少什么?

1 个答案:

答案 0 :(得分:4)

只需使用带括号的正式VTL表示法:

return Marshal${sdo.getName()}.dynamicSize(this);