【发布时间】:2013-05-26 10:44:51
【问题描述】:
可以在速度模板中使用 java 代码吗? 例如使用这个 int 模板:
double x = minutes/60 + (((minutes % 60)<=15)?0.0:((minutes % 60)<=45)?0.5:1.0);
【问题讨论】:
可以在速度模板中使用 java 代码吗? 例如使用这个 int 模板:
double x = minutes/60 + (((minutes % 60)<=15)?0.0:((minutes % 60)<=45)?0.5:1.0);
【问题讨论】:
不,Velocity 只是一个简单的模板引擎,它打印任何无效的 Velocity 语法。
但它确实支持计算,尽管操作要简单得多。这适用于 Velocity:
#set ($x = $minutes / 60)
#if ($minutes % 60 <= 15)
#set ($x = $x + 0.0)
#elseif ($minutes % 60 <= 45)
#set ($x = $x + 0.5)
#else
#set ($x = $x + 1.0)
#end
【讨论】:
%。至少在现代版本中。您是否使用 Velocity 1.4 或更低版本?
#set ($myObj = new Object()) 这样的东西。如果不是,我想一种可能性是将实例化另一个对象的对象放入模板的上下文中。
new,但您可以在上下文中放置一个工厂对象。