JSF Bean funktioniert nicht immer..

fanavity

Mitglied
Hallo,

ich habe mir ein LoginBean - Tutorial angesehen. Dieses habe ich nun auch nachgebaut. Als Framework nutze ich Primefaces 5 und Primefaces-Mobile 1.0

Die Loginmaske klappt problemlos. Auch das registrieren. Allerdings kann ich mich nicht mehr ausloggen. Das hat schonmal geklappt, aber irgendwie will es nicht mehr.

Ich muss dazu sagen, dass dies meine Anfänge in dem Bereich sind.. Hier mal die verwendeten Klassen/xhtml


Login:
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pm="http://primefaces.org/mobile">

<h:head>
	<title>Login</title>
	<h:outputStylesheet name="style.css" />
</h:head>
<h:body>
	<pm:page>
		<h:form id="loginform">
			<p:growl id="msg" showDetail="true" life="9000" />
			<p:panel header="Login" id="loginHeader">
				<p:panelGrid id="loginPanel" styleClass="loginGrid">

					<h:outputText value="Benutzername" />

					<p:inputText id="username" value="#{loginBean.username}"
						required="true"
						requiredMessage="Der Benutzername ist ein Pflichtfeld."
						styleClass="loginGridUsername" />

					<p:message for="username" />


					<h:outputText value="Passwort" />

					<p:password id="password" value="#{loginBean.password}"
						feedback="false" required="true"
						requiredMessage="Das Passwort ist ein Pflichtfeld." />

					<p:message for="password" />
					<p:spacer />
					<p:commandButton id="button" value="Einloggen"
						action="#{loginBean.doLogin}" update="msg" />

					<p:spacer />

					<p:commandButton id="register" action="#{loginBean.doRegister()}"
						value="registrieren" />
				</p:panelGrid>
			</p:panel>
		</h:form>
	</pm:page>
</h:body>
</html>

Welcome
HTML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:pm="http://primefaces.org/mobile"
	xmlns:pt="http://xmlns.jcp.org/jsf/passthrough">

<h:head>
	<h:outputStylesheet name="style.css" />
</h:head>

<h:body>
	<pm:page id="navi">
		<pm:header title="Hallo #{loginBean.username} - Herzlich willkommen" swatch="b" id="logOutHeader">
			<p:commandButton value="Logout" action="#{loginBean.doLogout()}"
				id="logoutButton"/>
		</pm:header>
		<p:panel header="Menü" id="menuPanel">
			<p:menu>
				<p:submenu label="Transaktionen">
					<p:menuitem value="Alle anzeigen"
						outcome="pm:allTransactions?transition=flip" />
				</p:submenu>
				<p:submenu label="Gruppen">
					<p:menuitem value="Alle anzeigen"
						outcome="pm:allGroups?transition=flip" />
				</p:submenu>
				<p:submenu label="Kategorien">
					<p:menuitem value="Alle anzeigen"
						outcome="pm:allCategories?transition=flip" />
				</p:submenu>
				<p:submenu label="Statistik">
					<p:menuitem value="Alle anzeigen"
						outcome="pm:statistik?transition=flip" />
				</p:submenu>
			</p:menu>
		</p:panel>
	</pm:page>

	<pm:page id="allTransactions">
		<pm:header title="Alle Transaktionen" swatch="b" id="logOutHeaderTransaction">
			<p:button outcome="pm:navi?transition=flip" value="Zurück" id="backButtonTransaction" styleClass="button"/>
			<p:commandButton id="addTransactionButton" value="Hinzufügen" styleClass="button"/>
		</pm:header>
	</pm:page>

	<pm:page id="allGroups">
		<pm:header title="Alle Gruppen" swatch="b" id="logOutHeaderGroup">
			<p:button outcome="pm:navi?transition=flip" value="Zurück" id="backButtonGroup" styleClass="button"/>
			<p:commandButton id="addGroupButton" value="Hinzufügen" styleClass="button"/>
		</pm:header>
	</pm:page>

	<pm:page id="allCategories">
		<pm:header title="Alle Kategorien" swatch="b" id="logOutHeaderCategorie">
			<p:button outcome="pm:navi?transition=flip" value="Zurück" id="backButtonCategorie" styleClass="button"/>
			<p:commandButton id="addCategorieButton" value="Hinzufügen" styleClass="button"/>
		</pm:header>
	</pm:page>

	<pm:page id="statistik">
		<pm:header title="Statistik" swatch="b" id="logOutHeaderStatistik">
			<p:button outcome="pm:navi?transition=flip" value="Zurück" id="backButtonStatistik" styleClass="button"/>
		</pm:header>
	</pm:page>
</h:body>
</html>

und das LoginBean:
Java:
package de.fanavity.webservice.web.homepage.bean;

import java.io.Serializable;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;

import de.fanavity.webservice.datenbank.BankDao;
import de.fanavity.webservice.web.pojo.User;
import de.fanavity.webservice.web.server.BankApi;
import de.fanavity.webservice.ws.impl.callback.ResultinfoCallback;

@ManagedBean(name = "loginBean")
@SessionScoped
public class LoginBean implements Serializable {
 
    private static final long serialVersionUID = 7765876811740798583L;
 
    // Simple user database :)
    private String username;
    private String password;
     
    private boolean loggedIn;
 
    @ManagedProperty(value="#{navigationBean}")
    private NavigationBean navigationBean;
     
    /**
     * Login operation.
     * @return
     */
    public String doLogin() {
        // Get every user from our sample database :)
        if( username != null && password != null
        		&& !username.equals("")
        		&& !password.equals("")) {
            BankDao dao = new BankDao();
            BankApi api = new BankApi(dao);
            ResultinfoCallback callback = new ResultinfoCallback();
            User user = api.logon(username, password, callback);
            // Successful login
            if ( user.username != null && user.password != null 
            		&& !user.username.equals("") 
            		&& !user.password.equals("")
            		&& api.checkPassword(user, password, callback)) {
            	loggedIn = true;
                return navigationBean.redirectToWelcome();
            }
        }
        // Set login ERROR
        // TODO -> Fehlermeldung
        FacesMessage msg = new FacesMessage("Fehler beim Einloggen!", "Fehlermeldung aus dem UserObjekt");
        msg.setSeverity(FacesMessage.SEVERITY_ERROR);
        FacesContext.getCurrentInstance().addMessage(null, msg);
         
        // To to login page
        return navigationBean.toLogin();
    }
     
    /**
     * Logout operation.
     * @return
     */
    public String doLogout() {
        // Set the paremeter indicating that user is logged in to false
        loggedIn = false;
         
        // Set logout message
        FacesMessage msg = new FacesMessage("Erfolgreich ausgeloggt!", "Sie wurden erfolgreich ausgeloggt");
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
        FacesContext.getCurrentInstance().addMessage(null, msg);
         
        return navigationBean.toLogin();
    }
    
    public String doRegister() {
    	ResultinfoCallback callback = new ResultinfoCallback();
        if( username != null && password != null
        		&& !username.equals("")
        		&& !password.equals("")) {
            BankDao dao = new BankDao();
            BankApi api = new BankApi(dao);
            User user = new User();
            
            user.password = password;
            user.username = username;
            
            user = api.registerUser(user, callback);
            if ( user.username != null && user.password != null ) {
            	loggedIn = true;
                return navigationBean.redirectToWelcome();
            }
        }
        FacesMessage msg = new FacesMessage("Fehler beim registrieren!", callback.getMeldungForMessagebox());
        msg.setSeverity(FacesMessage.SEVERITY_ERROR);
        FacesContext.getCurrentInstance().addMessage(null, msg);
         
        // To to login page
        return navigationBean.register();
    }
 
    // ------------------------------
    // Getters & Setters
     
    public String getUsername() {
        return username;
    }
 
    public void setUsername(String username) {
        this.username = username;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
 
    public boolean isLoggedIn() {
        return loggedIn;
    }
 
    public void setLoggedIn(boolean loggedIn) {
        this.loggedIn = loggedIn;
    }
 
    public void setNavigationBean(NavigationBean navigationBean) {
        this.navigationBean = navigationBean;
    }
}

Es gibt weder eine Exception noch sonst irgendeine reaktion. Es kommt ganz kurz der Ajax spinner und das wars. Das Bean scheint da zu sein, da ich Benutzername und Passwort auslesen und auf der Seite anzeigen kann.

Habe ich etwas übersehen ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Bean Validation (JSF 2.0) funktioniert nicht. Web Tier 4
6 JSF Form Attribute nicht an Bean übergeben Web Tier 2
G HTML Fragment in Bean erzeugen? Web Tier 1
W JSF Probleme mit Zugriff zur Managed Bean Web Tier 11
R get-methode der Managed-Bean wird immer 3 mal ausgeführt Web Tier 4
I CSS von Client -> an Bean senden Web Tier 0
H JSF jsf/sessionScoped Bean - Bilder (jpg) werden nicht richtig dargestellt Web Tier 1
S Java Bean und Java Servlet Web Tier 2
G jsf bean erstellen die mir die aktuelle uhrzeit ausgibt als xhtml Web Tier 5
M viele Objekte des Managed Bean Web Tier 3
S [JSF] Zugriff auf Bean (Eclispe,JBoss) Web Tier 12
P JSF Prob mit xhtml / Bean / JS Web Tier 6
J JSF Initialisierung einer ApplicationScoped Bean Web Tier 2
B Berechnen und Anzeigen von Formeln aus der Chemie und Physik mit JSP und Bean Web Tier 14
H Bean-Objekte aus XML erstellen Web Tier 2
L expression language Bean && Bean Web Tier 3
C JSF Methoden in Backing-Bean als JSF-Property Web Tier 3
P JSF Merkwürdiges Verhalten einer Bean Web Tier 11
S CDI: Bean aus einem anderen jar Web Tier 3
X Managed Bean Scope zwischen Request und Session gesucht Web Tier 6
D JSF EL #{not null bean.property} Parse exception Web Tier 2
T Seam-Komponenten oder Java Bean soll direkt nach Appserver-Start "leben" Web Tier 4
B JSF Servlectexception: Verwalteter Bean "..bean" kann nicht erstellt werden Web Tier 2
G JSF Bean Vererbung Web Tier 5
J Validieren abhängiger Felder mit JEE6/Bean validation Web Tier 33
F Leere Bean? Web Tier 7
S JSF2: Managed bean aus anderer Dependency Web Tier 7
W MVC mit Bean, JSP und Servlet Web Tier 6
S Style bei fehlerhafter Eingabe (Bean Validation) ändern Web Tier 2
H Managed Bean Aufruf auf Stack legen Web Tier 10
P JSP: Liste in Bean über Session aufbauen Web Tier 6
V Vector aus Bean "holen" / JSP Web Tier 3
B JSF session bean mit worker thread updaten Web Tier 7
K bean methode von jslt aufrufen Web Tier 7
I Eine Bean von einer anderen Bean aufrufen Web Tier 2
J Managed bean und javascript kommunikation (JSF 2) Web Tier 2
G JSF javax.faces.bean Web Tier 2
K Anfängerfrage in JSF: <h:inputText> aus Managed Bean ansprechen Web Tier 6
S Managed bean nicht initialisiert Web Tier 2
A JSF+Glassfish: Probleme mit Managed Bean Web Tier 2
E Methode einer Bean aus anderer Bean aufrufen Web Tier 10
S [SelectItems value(herkunft bean)] in [UI:repeat] lädt daten nicht neu nach Web Tier 3
N MessageResources von Struts in Form-Bean Web Tier 4
N java bean in eclipse Web Tier 6
A JSF SelectOneMenu mit Werten aus Bean vorbelegen Web Tier 2
S JSF: Frage wegen managed-bean Web Tier 3
pusteblume Mehrere Objekte einer Bean Web Tier 10
M Problem mit JSP und Bean Web Tier 2
O 2 Fragen zu JSP und Bean Web Tier 4
E value übergabe an bean! aber wie? Web Tier 3
F Datei von bean aus laden Web Tier 3
N JSF kann Bean nicht finden! Web Tier 7
H JSF - Bean (scope session) - Verfallsdatum? Web Tier 3
G Mit JSTL Rückgabe von Bean Methode ausgeben Web Tier 3
D ResultSet aus Bean an JSP übergeben Web Tier 11
M JSF - Bean aus SessionScope direkt im JSF Code auslesen Web Tier 1
G Eine Instanz pro Managed Bean? Web Tier 2
D Codierung im Frontend funktioniert nicht richtig Web Tier 2
krgewb Base64 funktioniert nicht, aber btoa funktioniert Web Tier 10
S Websocket.jar funktioniert nur teilweise Web Tier 14
M webapp controller funktioniert nicht Web Tier 3
J Https Verknüpfung funktioniert nicht Web Tier 0
W JSF DataTable - Filter Funktion funktioniert nicht Web Tier 3
L error-page mit ui:composite funktioniert nicht Web Tier 0
L JSF Composit Component mit ajax funktioniert nicht. Web Tier 4
M <p:accordionPanel <ui:repeat <p:commandButton Action funktioniert teilweise Web Tier 3
A Aufruf eines Servlets auf einer JSP Seite funktioniert nicht Web Tier 10
D JSF cellpadding oder cellspacing funktioniert nicht Web Tier 4
W JSF Login funktioniert nicht Web Tier 12
F PrimeFaces p:selectOneMenu funktioniert nicht Web Tier 12
J @Named Notation funktioniert nicht Web Tier 3
D richTable sort funktioniert nicht Web Tier 2
A Servlet File Upload funktioniert nur lokal auf Entwicklungsrechner, nicht in Tomcat Web Tier 5
J JSF Richfaces Tabs, dynamisches include funktioniert nicht Web Tier 4
D Fileupload in GWT funktioniert nicht Web Tier 10
A JSF Weiterleitung funktioniert einfach nicht Web Tier 2
T Funktioniert das Zusammenspiel folgender Komponenten? Web Tier 2
D [GWT] Celltable SimplePager funktioniert in 2.2 nicht Web Tier 1
T JSF Dependency-Injection funktioniert offenbar nicht - warum? Web Tier 4
D JSF 2.0 Navigationsregel funktioniert nicht Web Tier 2
F JApplet in Tomcat-Umgebung funktioniert mal wieder nicht ... Web Tier 8
P Richfaces/Seam: RichShuttleListe funktioniert nicht Web Tier 8
P Tomcat funktioniert nicht so wie er sollte Web Tier 11
megachucky JSF - NavigationRule funktioniert nicht Web Tier 9
C RichFaces Ajax ReRender funktioniert nicht. Web Tier 2
L BMI-Messer funktioniert nicht Web Tier 18
G Session.invalide() funktioniert nicht richtig Web Tier 2
hjpsoft JSP <TEXTAREA>-Tag unterstützt EL-Variablen nicht Web Tier 7
C JSP data wird nicht angezeigt Web Tier 6
Psypsy Spring Thymeleaf Layer werden nicht angezeigt. Web Tier 0
P JSF (Primefaces) SelectOneMenu Value auf Array wird nicht gesetzt Web Tier 0
K Vaadin Projekt Funkioniert nicht... Web Tier 1
M JSP PrimeFaces LayoutUnits <- breite lässt sich nicht erzwingen wenn 'center' Web Tier 0
R JSF selectOneListbox speichert Value nicht. Web Tier 1
W Tabelle wird nicht aktualisiert Web Tier 8
A JSF String wird nicht angezeigt Web Tier 2
S JSF CSS wird gefunden aber inhaltlich nicht angewendet Web Tier 2
FINF_AW_Alex EJB - property nicht vorhanden Web Tier 6
R JSF Bilder aus CSS Datei werden nicht angezeigt. Web Tier 2
C JSF JSF Daten aus Klasse werden nicht angezeigt Web Tier 4

Ähnliche Java Themen

Neue Themen


Oben