Java 无法在Velocity模板中设置Nulll

Java 无法在Velocity模板中设置Nulll,java,velocity,velocity-tools,Java,Velocity,Velocity Tools,我试图在速度中将一个变量设置为null。我正在努力: #set ($acessSpeed = null) 我正在读velocity null support wiki。它说我们可以通过这种方式将值设置为null。 但是当我尝试它时,我得到一个错误,说在…遇到null 我遇到的问题是,我有一个包含多个if块的巨大模板,如果满足条件,就会执行这些块。因此,在每个if块的末尾,我需要将accessSpeed的值设置为null #if (some condition) access spe

我试图在速度中将一个变量设置为null。我正在努力:

#set ($acessSpeed = null)
我正在读velocity null support wiki。它说我们可以通过这种方式将值设置为null。

但是当我尝试它时,我得到一个错误,说在…遇到null

我遇到的问题是,我有一个包含多个if块的巨大模板,如果满足条件,就会执行这些块。因此,在每个if块的末尾,我需要将accessSpeed的值设置为null

#if (some condition)
     access speed value set here.
.
.
.
#end
// I need to set the access speed value to null here.
#if (some other condition)
    access speed value to be set to something again.
.
.
.
#end
我可以为每个if块使用不同的变量,但我想知道是否有更简单的方法来实现它


任何建议都会有帮助

这取决于您的配置。要执行所需操作,您需要使用以下配置Velocity:

directive.set.null.allowed = true
然后,您可以使用以下命令将变量设置为null:

#set($foo = $null)
其中$null只是一个未定义的变量

否则,如果唯一的目的是测试变量,那么一个方便的技巧就是将其值设置为false

#set($foo = false)
#if($foo) this will be displayed #end

这取决于您的配置。要执行所需操作,您需要使用以下配置Velocity:

directive.set.null.allowed = true
然后,您可以使用以下命令将变量设置为null:

#set($foo = $null)
其中$null只是一个未定义的变量

否则,如果唯一的目的是测试变量,那么一个方便的技巧就是将其值设置为false

#set($foo = false)
#if($foo) this will be displayed #end

该页面是关于建议的,而不是实际上被@cricket_007的语法可能的副本所支持的,不是一个副本,至少不是这一个。该页面是关于建议的,而不是实际上被@cricket_007的语法可能的副本所支持的,不是一个副本,至少不是这个。@Calude Brisson谢谢你提供的信息。我是否将该指令语句放在模板的开头?否,它是属于velocity.properties文件的配置值。或者,在初始化之前,您可以在使用的Velocity或RuntimeInstance上使用setProperty按语法设置它。我应该查一下的!谢谢你的帮助。@Calude Brisson谢谢你提供的信息。我是否将该指令语句放在模板的开头?否,它是属于velocity.properties文件的配置值。或者,在初始化之前,您可以在使用的Velocity或RuntimeInstance上使用setProperty按语法设置它。我应该查一下的!谢谢你的帮助。