Ich habe eine Instanz des folgenden Objekts im Kontext der jsp-Seite:
%Vor%Wie kann ich die IsAdmin-Eigenschaft von der EL abfragen? Das scheint nicht zu funktionieren:
%Vor%noch nicht:
%Vor%Danke!
-Morgan
Ok. Ich bin dumm. Bewerten Sie diese Frage, lächerlich machen Sie mich, etc. Das Problem war in der Methode, die isAdmin () zu delegieren war. In dieser Methode gab es eine Nullzeiger-Ausnahme. Zu meiner Verteidigung werde ich jedoch sagen, dass der Stack-Trace, den ich bekommen habe, ein wenig unklar war und es so aussehen ließ, als wäre es ein EL-Problem und kein einfacher Nullzeiger in meinem Code.
Essig, Ihre Versicherung, dassAdmin () auch ohne Eigentum funktioniert, hat mir geholfen, dies herauszufinden. Danke dafür.
%Vor%Zuerst benötigen Sie wahrscheinlich einen Getter für die Benutzerklasse. Wenn das nicht hilft, sollte {user.admin} funktionieren, also würde ich überprüfen, ob die Bean korrekt in Ihrer JSP referenziert ist.
Ich hoffe, das hilft.
einfach.
für mich, nur ändern isStuff zu getStuff arbeitete immer.
natürlich, das kann gegen einige Namenskonvention, Unabhängigkeitserklärung, Menschenrechte, etc .. aber es funktioniert für mich.
Versuchen Sie Folgendes:
%Vor% nur für den Fall, Großschreibung ist das Problem. Manchmal macht EL nicht naheliegende Dinge. Allerdings konnte ich in der Regel nur das Äquivalent von ${user.admin}
in meinem El verwenden. Wenn ich mir meinen eigenen Code anschaue, habe ich viele Beispiele dafür, das Offensichtliche zu tun, wo es funktioniert.
Haben Sie die folgenden Methoden in Ihrer Klasse:
%Vor% oder hast du nur den Getter? Bei meinem Code merke ich, dass ich das oben genannte nicht mache. Meine Setter beginnen alle mit set
wie:
und ich kann in meinen JSPs die naheliegende Kleinbuchstaben-Lösung ${user.admin}
verwenden. Dies kann davon abhängen, welchen EL-Prozessor Sie verwenden.
HINWEIS: Später hinzugefügt, weil die Leute dies immer noch abstimmen, obwohl sie nie auf ein Beispiel gestoßen sind, wo dies passiert. Ein Beispiel aus meinen eigenen JSPs, das mich veranlasst hat, diese Frage zu stellen, ist, dass ich eine Methode habe:
%Vor% und ich greife in EL wie folgt darauf zu: ${agent.LANSomething}
Die Regel scheint getXXXyyy
zu sein, wo XXX
alles Großbuchstaben ist, Sie müssen Großbuchstaben verwenden, um in EL darauf zuzugreifen. Zumindest mit Tomcat Versionen 4-6, die ich benutzt habe.