Java Calendar.setTime(long)返回void
这条线
#set( $cal = $Calendar.getInstance.setTime($facet.name) )
会尝试将 setTime() 方法返回的“空值”分配给 $cal ...(尽管我肯定认为,应该在某处出现关于此的错误消息)
尝试:
#set( $cal = $Calendar.getInstance() )
$cal.setTime($facet.name)
编辑
我认为 $Calendar.getInstance 没有括号是无效的。(速度文档这样说A VTL Method Body consists of a VTL Identifier followed by an left parenthesis character ("("), followed by an optional parameter list, followed by right parenthesis character (")").
:)
另外,请注意:即使$Calendar
您将 . 添加Calendar.class
到上下文中也可以使用"Calendar"
。您只有放入其中的内容(或工具放入其中供您使用的内容...)
编辑2
麻烦的是,SOLR 放入 Velocity 上下文的内容非常有限:
速度上下文
(来自 SOLR 文档)
对于您尝试做的事情,ComparisonDateTool似乎是合适的......