JSTL Ausdruckssprache für den Zugriff auf Objekteigenschaften
Ich habe heute ein Tutorial verfolgt, bei dem ich mir eine Stunde lang den Kopf gekratzt habe. Erwägen
public class MyClass {
public int getTotal() {
amount = 100;
return amount;
}
}
und ein Auszug aus einer JSP:
<p>Total: ${objectOfTypeMyClass.total}</p> //object instantiated elsewhere
n keiner Stelle im Code befand sich eine Instanzvariable mit dem Namen "gesam "jemals deklariert oder verwendet. Der einzige Verweis auf das Wort" total "im gesamten Projekt (außer in der JSP) war die MethodegetTotal ().
So scheint es, dass Expression Language nach einigem verzweifelten Experimentieren im letzten Graben @ auswert $ {someObject.var} as "ruf das @ getVar () Methode des someObject Objekt
Ich habe über eine Woche mit diesem langen Tutorial gearbeitet und dachte, dass $ {someObject.var} sagte "direkt die gespeicherte Instanzvariable holen" var" von someObject.
Habe ich es die ganze Zeit falsch gemacht und ist meine Beobachtung richtig, dass Sie eine entsprechende Getter-Methode mit dem Namen @ angeben müssen, um auf eine Instanzvariable mit EL zu verweisegetVarname () wo " Varname "ist der Name der Instanzvariablen?
Auch EL scheint in dieser Hinsicht die Groß- und Kleinschreibung nicht zu berücksichtigen. In meinem obigen Beispiel "total" in $ {objectOfTypeMyClass.total} ist alles Kleinbuchstaben, wo die MethodegetTotal () hat ein großes "T".
Und wenn wir schon dabei sind, warum müssen wir dann nicht die Variable "total" instanziieren? Ich vermute, EL referenziert nicht wirklich eine Instanzvariable ... nur eine Getter-Methode?
Was gibt