我正在使用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()}
并遇到相同的问题。我尝试了所有其他技巧,以逃避无济于事。似乎应该很简单,但是我很困惑。我在这里想念什么? 最佳答案
只需在括号中使用正式的VTL表示法即可:
return Marshal${sdo.getName()}.dynamicSize(this);
关于java - Apache Velocity:转义符不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10195919/