moin ^^
erstmal vorneweg, ich habe die befürchtung (/hoffnung ^^) dass es sich entweder um einen blöden fehler von mir oder ein grundsätzliches verständnisproblem mit javaEE handelt, ich versuche mich grade etwas reinzuarbeiten
also seid bitte nachsichtig falls die frage blöd erscheint ^^ ich bin schon seit tagen am rumbasteln / rumprobieren damit
das problem ist folgendes: ich habe ein Facelet (index.xhtml) und ein ManagedBean dass sich um die Session bzw die Datenbank kümmern soll, u.a. auch um login und logout auf der seite
login funktioniert über ein primefaces forumlar und den entsprechenden beispielcode ganz gut, mit dem logout habe ich allerdings ein paar probleme:
momentan habe ich es folgendermaßen:
in der index.xhtml:
(in einem primefaces element, hat den gleichen effekt wenn ich es in einen normalen link setze)
in der loginBean.java:
damit habe ich jetzt die folgenden Probleme:
falls jemand von euch einen Tipp zu den Problem-punkten oder den einen oder anderen nützlichen Link hat wäre ich dankbar ^^
lg, sataan
erstmal vorneweg, ich habe die befürchtung (/hoffnung ^^) dass es sich entweder um einen blöden fehler von mir oder ein grundsätzliches verständnisproblem mit javaEE handelt, ich versuche mich grade etwas reinzuarbeiten
also seid bitte nachsichtig falls die frage blöd erscheint ^^ ich bin schon seit tagen am rumbasteln / rumprobieren damit
das problem ist folgendes: ich habe ein Facelet (index.xhtml) und ein ManagedBean dass sich um die Session bzw die Datenbank kümmern soll, u.a. auch um login und logout auf der seite
login funktioniert über ein primefaces forumlar und den entsprechenden beispielcode ganz gut, mit dem logout habe ich allerdings ein paar probleme:
momentan habe ich es folgendermaßen:
in der index.xhtml:
Code:
<p:menuitem value="Logout" helpText="Logout" icon="/images/system-log-out.png" url="javascript:window.location.reload()" style="z-index:200; color:white;" onclick="#{loginBean.logout}"/>
in der loginBean.java:
Java:
@ManagedBean (name="loginBean")
@SessionScoped
public class LoginBean {
private HttpSession session; // = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
public LoginBean(){
session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(false);
if (session == null) session = (HttpSession) FacesContext.getCurrentInstance().getExternalContext().getSession(true);
if (session.getAttribute("loggedin") == null) setLoggedin(false);
if (session.getAttribute("loggedin").equals("true")) setLoggedin(true);
}
...
...
...
private boolean logout;
public boolean getLogout(){
setLoggedin(false);
return false;
}
damit habe ich jetzt die folgenden Probleme:
- die Logout-Funktion wird beim laden / aktualisieren der Seite aufgerufen
- sie wird nicht aufgerufen wenn ich auf den link klicke
- das aufrufen der Funktion über nen missbrauchten getter erscheint mir falsch, (bzw ich hoffe dass es besser geht ^^), ich habe es allerdings noch nicht hinbekommen eine funktion so zu definieren dass sie aus dem facelet heraus aufrufbar ist
- die art und weise wie die verfügbaren Funktionen erkannt werden ist mir unklar, ich habe z.b. auch eine Funktion getAdministrator() (ohne entsprechende variable), die wird erkannt - ebenso isAdministrator(), getLogout wird nicht erkannt wenn die variable fehlt oder getLogou() einen anderen Rückgabetyp besitzt - ich sehe da irgendwie nicht wirklich durch bzw konnte auch nicht viel zu dem thema finden
falls jemand von euch einen Tipp zu den Problem-punkten oder den einen oder anderen nützlichen Link hat wäre ich dankbar ^^
lg, sataan
Zuletzt bearbeitet: