从速度视图页内部调用类方法(静态)
是否可以从视图页内部调用类方法?
特别是那些没有传递到视图中的?
在 asp.net MVC中,我可以这样做:
<%= SomeClass.FixDateFormat(ViewData.Model.SomeClass.DateCreated) %>
是否可以从视图页内部调用类方法?
特别是那些没有传递到视图中的?
在 asp.net MVC中,我可以这样做:
<%= SomeClass.FixDateFormat(ViewData.Model.SomeClass.DateCreated) %>
由于这出现在我关于这个主题的谷歌搜索的顶部,似乎人们可能希望看到一个更新的答案,当他们得到这个在他们的搜索顶部...
(在这里找到这个: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 中添加了对无实例静态类方法的支持:
爪哇岛:
context.put("String", String.class);
速度:
#set( $foo = $String.format('%.1f', $dataFedIn) )
以下是调用任何类的任何静态方法的通用方法,而无需进行初步的上下文操作:
#set($str='test')##
#set($Base64=$str.class.forName('java.util.Base64'))##
$Base64.getEncoder().encodeToString($str.getBytes('utf8'))