2012-12-31 45 views
2

我有一個使用requiredProperty包含一個數字,但速度變量是字符串的Maven archtype。所以,在我的模板,我不能,如果這個屬性是多了一些更大的考驗:Maven原型所需財產編號

#if($myVar gt 5) 

我已經測試了以下solution沒有成功。

我也試過這樣:

#set($intVar = Integer.parseInt($myVar)) 

這也是失敗的原型產生。

有什麼建議嗎?

回答

1

你不能從Velociy中引用類,所以Integer.parseInt將不起作用。但是,由於在Java中任何靜態方法都可以作爲實例方法調用,並且Velocity只是變相的Java,所以您可以在任何整數上調用parseInt。所以,你可以試試這招:

#if ($myVar.length().parseInt($myVar) gt 5) 

你得到從你假設你有,$myVar的一個變量開始的整數舉行。

+0

它不是優雅的,但它的工作原理;) – krampstudio

+0

另一個更清潔的選項是將Integer.class設置爲Velocity變量,當你建立在Java中的上下文,然後引用,即在Java中:context.put(「intClass」,Integer.class);和Velocity:$ intClass.parseInt($ myVar) – centic

+0

除了Velocity部分是由Maven處理的,所以這需要在Maven中深入挖掘。 –