Velocity テンプレートにマップされたモデル オブジェクトの読み取り

StackOverflow https://stackoverflow.com/questions/24495

  •  09-06-2019
  •  | 
  •  

質問

たとえば、 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 ), 、あまりフレンドリーではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top