Velocity模板和内部java代码

Velocity模板和内部java代码,java,templates,velocity,Java,Templates,Velocity,可以在velocity模板中使用java代码吗? 例如,使用此int模板: double x = minutes/60 + (((minutes % 60)<=15)?0.0:((minutes % 60)<=45)?0.5:1.0); double x=minutes/60+((minutes%60)不,Velocity只是一个简单的模板引擎,它可以打印任何无效的Velocity语法 但它确实支持计算,尽管操作要简单得多。这在速度方面有效: #set ($x = $minutes

可以在velocity模板中使用java代码吗? 例如,使用此int模板:

double x = minutes/60 + (((minutes % 60)<=15)?0.0:((minutes % 60)<=45)?0.5:1.0);

double x=minutes/60+((minutes%60)不,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
#设置($x=$minutes/60)

#如果($minutes%60)正常,但我不能在Velocity模板中使用“%”?无论如何,我得到了错误,并且双精度值存在问题,如何传递?在第169行第51列遇到了词法错误。在:“.”之后遇到了“0”(48)它确实支持
%
。至少在现代版本中是这样。您是否使用Velocity 1.4或更低版本?@SergiuDumitriu没有机会在模板内实例化对象,对吗?类似于
\set($myObj=new object())
。如果不是,我想一种可能是在模板的上下文中放入一个实例化另一个对象的对象。@MatheusSantana确实,Velocity中没有新的
,但您可以在上下文中放置工厂对象。