Velocity テンプレートにマップされたモデル オブジェクトの読み取り
質問
たとえば、 Person クラスのような Struts + Velocity 構造があり、その 1 つのプロパティが Car オブジェクト (独自のゲッター/セッター メソッドを持つ) であり、ModelDriven と getModel 構造を使用して、アクションに送信する Velocity フォームにマップされています。 。
車のプロパティが null または car.id != 0 ではない場合に「車の表示」を表示するボタンをフォームに配置するか、車が null または car.id = 0 の場合に別のボタン「車の選択」を表示するかを考えます。
これをどのようにコーディングすればよいでしょうか。テンプレートファイルでそのようなことを試しました:
#if($car != null)
#ssubmit("name=view" "value=View Car")
#else
#ssubmit("name=new" "value=Choose Car")
#end
しかし、Null値に関するエラーが発生し続けます。 #もし ライン。
試しに Person でブール値メソッド hasCar() も作成しましたが、アクセスできず、理由がわかりません。
また、Velocity + Struts のチュートリアルは見つけるのが難しく、適切な情報もありません。
ありがとう
解決
#if 行を次のように変更する必要があります。
#if($car)
他のヒント
今後の Velocity 1.6 リリースでは、次のことができるようになります。 #if( $car == $null )
エラーメッセージなしで。これにより、いつであるかを簡単に区別できるようになります。 $car
null の場合と false の場合。それを行うには、今必要なのは #if( $car && $car != false )
, 、あまりフレンドリーではありません。
所属していません StackOverflow