質問
Velocity参照を「null」または「undefined」に設定することは可能ですか?
が記載されています
#set
-参照の値を確立します 形式:
# [ { ] set [ } ] ( $ref = [ ", ' ]arg[ ", ' ] )
使用法:
$ref
-割り当てのLHSは、変数参照またはプロパティ参照でなければなりません。
arg
-割り当てのRHS、argは二重引用符で囲まれている場合に解析されます。 単一引用符で囲まれている場合に解析されます。 RHSがnullと評価された場合、割り当てられません LHSに。(強調鉱山)
同等の#unset
マクロが見つかりません。
解決
続きを読む...
Velocityの状態に依存 設定済み、通常は不可能 から既存の参照を削除するには このメカニズムを介したコンテキスト。 (注意 これを変更することで許可できること Velocity設定の1つ プロパティ)
VEのデフォルト設定にはプロパティがあります
directive.set.null.allowed = false
trueの場合、右側に 無効な参照またはnull値を持つ#set()ステートメントは、 左側をヌルにします。 falseの場合、 左側は同じままです
true
でsetProperty()
を使用してorg.apache.velocity.app.Velocity
に変更すると、準備ができました。
他のヒント
参照をfalseに設定できます。 null以外の参照はtrueと見なされるため、参照が設定されているかどうかをテストできます。これはループで役立ちます。
#foreach ($obj in $list) #set ($x = false) #set ($x = $obj.maybeNull()) #if ($x) ... $x #end #end
スコープ変数を取得しようとしている場合、#foreach
:
#foreach($localVar in [ 'theValue'])
#end
## localVar will be unset (or returned to previous value) again
所属していません StackOverflow