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

Antworten auf die Frage(6)

Ihre Antwort auf die Frage