Ich habe meine Entwicklungsumgebung erneuert. Ich hatte vorher Eclipse Kepler und JBoss 7.1. Jetzt habe ich Eclipse Mars und Wildfly 8.0.
Seit kurzem geht ein Projekt von mir nicht mehr. Es geht um einen simplen Login Mechanismus.
Ich habe folgende Klassen:
showBasket.xhtml:
...
<p:commandButton value="Warenkorb anschauen"
action="#{showBasketBean.registerLogin}" />
...
showBasketBean.java:
...
public String registerLogin(){
boolRegisterFlag = true;
return Pages.REGISTER_LOGIN;
}
...
registerLogin.xhtml:
...
<h:form rendered="#{showBasketBean.registerFlag}">
<h1>Benutzer einloggen</h1>
<h:panelGrid columns="3">
<h:outputLabel value="UserName"></h:outputLabel>
<h:inputText id="userName2"
value="#{registerLoginBean.user2.userName}">
</h:inputText>
<h:message for="userName2" style="color: red;"/>
<h:outputLabel value="UserPaswort"></h:outputLabel>
<h:inputText id="userPassword2"
value="#{registerLoginBean.user2.userPassword}">
</h:inputText>
<h:message for="userPassword2" style="color: red;"/>
<p:commandButton value="Login3"
action="#{registerLoginBean.login2}" ajax="false"/>
</h:panelGrid>
</h:form>
...
registerLoginBean.java:
...
public registerLoginBean(){
System.out.println("Hier Konstruktor registerLoginBean");
user = new User();
user2 = new User();
user3 = new User();
}
...
public String login2(){
System.out.println("Hier Login-Methode");
System.out.println("Aktueller User: "+user2.getUserName());
getAllUsers();
user2.setUserPassword(doSHA(user2.getUserPassword()));
boolean exists = checkDouble(user2);
if(!exists){
user2 = new User();
return Pages.LOGIN_FAILURE;
}
else{
localLogin = true;
showUserData(user2);
user2 = new User();
return Pages.SHOW_RESULT;
}
}
...
Das Problem: Wenn ich auf den Button ‘Warenkorb anschauen’ klicke, werde ich weitergeleitet zu einem Login Formular (registerLogin.xhtml).
Ich sehe anhand der System.out.println Statements, dass der Konstruktor der Bean Klasse aufgerufen wird (registerLoginBean.java).
Fülle ich jetzt das Formular mit Usernamen und Passwort und schicke das ganze ab, passiert erst mal gar nichts. Die Formular Felder werden gelöscht, die Methode login2 wird nicht aufgerufen.
Erst wenn ich die Daten nochmal eingebe und abschicke wird die Login-Methode aufgerufen und der Login Mechanismus funktioniert.