abrufen Ich habe die folgende Klasse.Kann ModelAttribute Elementvariable in JSP nicht
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;
}
}
Die folgenden Controller
class Controller {
@RequestMapping(value = "/foo", method = RequestMethod.GET)
public ModelAndView() {
return new ModelAndView("barJSP", "barModel", new Bar("testFooVal"));
}
}
Und jetzt ich Zugang in jsp bin versucht, den Wert von foo.
Ich habe die folgenden zwei Varianten von JSP in der barJSP versucht, die foo Vals zu drucken.
<% System.out.println(pageContext.findAttribute("barModel.foo")); %>
Dies druckt null. Jedoch
Dies druckt testFooVal wie erwartet (es druckt tatsächlich die Sache, die toString() zurückgibt).
Mein Verständnis der JSP-Syntax ist das. wird verwendet, um auf Mitglieder zuzugreifen und sollte so lange funktionieren, wie Getter dafür definiert sind. Fehle ich etwas?
Würde dies funktionieren angesichts der Existenz eines Getters? –
@ArunavSanyal $ {barModel.foo} rufen implizit die Methode getFoo() auf. –