2012-04-17 72 views
2

我使用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()}并有同样的问题。我尝试了所有其他的技巧逃避无济于事。似乎它应该很简单,但我很难过。我在这里错过了什么?

回答

4

使用时只需将正式VTL符号用括号:

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

吉米尼圣诞节!毕竟,我只是把开放式支架放在错误的地方!谢谢! – jluce50 2012-04-17 17:55:44