2012-04-17 52 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