2010-01-28 49 views
32

我有一個速度模板文件,它有來自xml的數據。我想將字符串轉換爲整數類型。如何將字符串轉換爲速度模板中的整數?

我該怎麼做?

+0

您有一個操作XML輸入文檔的XSLT文件,並且您想將類型爲xs:string的字段轉換爲類型爲xs:integer? – vicatcu 2010-01-28 17:30:48

+0

是的,我有xml輸入doucument有字符串值,我想轉換爲整數 – uma 2010-01-28 18:23:28

+0

爲什麼你不接受答案? – 2011-12-21 11:41:27

回答

73

啊哈!到過那裏。

#set($intString = "9") 
#set($Integer = 0) 
$Integer.parseInt($intString) 

這樣做使用java底層速度。 $ Integer變量只不過是一個Java Integer對象,您可以使用它訪問.parseInt

編輯:上面的代碼用於演示。當然有辦法來優化它。

+0

嗨,感謝它的工作正常。 – uma 2010-01-29 16:28:17

+0

很高興能幫到你! – Quotidian 2010-01-29 17:03:53

+0

謝謝,工作正常,治癒了頭痛。 – Matt 2010-05-26 12:21:43

9

如果你對速度上下文有一些控制,這裏有一個替代方案可以減少在Velocity模板中設置變量的需要。

Context velocityContext = new Context(); 
velocityContext.put(Integer.class.getSimpleName(), Integer.class); 

這允許您使用$Integer.parseInt($value)調用java.lang.Integer靜態方法在你的模板,並且不依賴於#SET已經被之前執行模板類型轉換調用。