ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
790
790
EMPFEHLEN
-
Hallo
Ich habe gerade ein Problem mit einem Template. Damit die Teile wiederverwendbar sind, habe ich es in mehrere JSPs aufgeteilt, allerdings weis ich jetzt nicht wie ich mit meiner Login-Logik weitermachen soll.
Das letzte mal hatte ich es so gemacht, dass diese Funktionalität einfach komplett in der login.jsp liegt die vom Template inkludiert wird. Jetzt kam mir aber die Idee, ob es nicht irgendwie möglich ist die dafür vorgesehene LoginBean über mehrere JSPs zu verwenden.
Also im template,jsp etwas wie
Ist es jetzt möglich auf diese Bean in der login.jsp zuzugreifen? Für irgend etwas muss dieser scope ja da seinHTML-Code:<jsp:useBean id="login" class="blubb.myClass" scope="session"/>
Warum ich das machen möchte: ich dachte dass ich eventuell in anderen Teilen prüfen möchte ob der Besucher angemeldet ist (sprich login.isUserLoggedIn()) um dann ein paar layoutanpassungen vorzunehmen.
Oder wäre diese, soweit überhaupt möglich, ein Anti-Pattern?
-
Habe die Lösung jetzt selber gefunden.
Ich musste die Variable zusätzlich noch mit der JSTL-core setzen
danach konnte ich in einer anderen JSP mitelsHTML-Code:<jsp:useBean id="test" class="de.blubb.clazz"> <% test.init() %> </jsp:useBean> <c:set var="test" value="${test}" scope="session"/>
darauf zugreifen. Der Unterschied ist marginal, anstatt von class muss man type angeben.HTML-Code:<jsp:useBean id="test" type="de.blubb.clazz" scope="session" />
Es war dann noch etwas schwierig nachdem man sich auf der Seite eingelogt hatte, denn dann wird eine neue Session erstellt und er kann das vorherige Objekt nicht finden. Dazu musste ich dann im Loginmethode die Klassenreferenz manuell zur (neuen) Session hinzufügen.
Ähnliche Themen
-
jsp:useBean kein Konstruktoraufruf?!
Von Nospherates im Forum JavaAntworten: 1Letzter Beitrag: 21.04.09, 09:58





Zitieren
Login





