私は以下のクラスを持っています。JSPでModelAttributeメンバー変数を取得できません
class Bar {
public Bar(String fooVal) {
this.foo = fooVal;
}
private String foo;
public String getFoo() {
return this.foo;
}
@Override
public String toString() {
return this.foo;
}
}
次コントローラ
class Controller {
@RequestMapping(value = "/foo", method = RequestMethod.GET)
public ModelAndView() {
return new ModelAndView("barJSP", "barModel", new Bar("testFooVal"));
}
}
そして今、私はfooの値JSPにアクセスしようとしています。
foo Valsを印刷しようとしたbarJSPには、次の2つのJSPバリアントがあります。
<% System.out.println(pageContext.findAttribute("barModel.foo")); %>
これはnullを出力します。しかし
<% System.out.println(pageContext.findAttribute("barModel")); %>
予想通りこれはtestFooValを印刷します(それは実際に事のtoString()リターンを出力します)。
私はjspの構文を理解しています。メンバにアクセスするために使用され、ゲッタが定義されている限り動作する必要があります。何か不足していますか?
これはゲッターの存在を前提としていますか? –
@ArunavSanyal $ {barModel.foo}は暗黙的にgetFoo()メソッドを呼び出します。 –