从速度视图页面内调用类方法(静态)

你能从视图页面内调用类方法吗?

特别是未传递到视图中的那些?

在asp.net MVC中,我可以这样做:

 

由于这个问题出现在谷歌搜索的这个主题的顶部,似乎人们可能希望看到更新的答案,当他们在他们的搜索的顶部…

(在此处找到: http : //velocity.10973.n7.nabble.com/Use-of-static-functions-td15126.html )

在Velocity 1.5或更早版本中,您可以使用:

 #set( $String = '' ) #set( $foo = $String.format('%.1f', $dataFedIn) ) 

因为你总是可以在实例上调用静态方法。 🙂

但是,由于有些静态类无法创建实例(例如java.util.Math),因此我们在静态类方法的实例中添加了1.6的支持:

Java的:

 context.put("String", String.class); 

速度:

 #set( $foo = $String.format('%.1f', $dataFedIn) ) 

这是一种调用任何类的静态方法而不需要初步上下文操作的通用方法:

 #set($String='')## #set($Base64=$String.class.forName('java‌​.util.Base64'))## #‌​set($str='test')## ​$Base64.getEncoder()‌​.encodeToString($str‌​.getBytes('utf8'))