Bonjour,
Je voulais me lancer dans les jsf et je bloque assez rapidement sur la notion de regle de navigation.
Voila mon application :
Une page d'accueil : index.jsp qui possede un formulaire login / password qui est sousmis grace à la methode validate(). Si le test est concluant ça envoie sur une page accueil.jsp sinon erreur.jsp.
Voila les differents fichiers :
Web.xml ( uniquement la partie jsf )
Mon faces-config :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <!-- Configuration de JSF --> <context-param> <param-name>javax.faces.STATE_SAVING_METHOD</param-name> <param-value>client</param-value> </context-param> <context-param> <param-name>javax.faces.CONFIG_FILES</param-name> <param-value>/WEB-INF/faces-config.xml</param-value> </context-param> <servlet> <servlet-name>FacesServlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>FacesServlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <!-- Fin de la configuration de JSF -->
Mon formulaire index.jsp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 <faces-config> <application> <locale-config> <default-locale>fr</default-locale> </locale-config> </application> <managed-bean> <managed-bean-name>user</managed-bean-name> <managed-bean-class>home.my.vue.UserBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> <navigation-rule> <from-view-id>/index.jsp</from-view-id> <navigation-case> <from-outcome>loginSuccess</from-outcome> <to-view-id>/pages/accueil.jsp</to-view-id> </navigation-case> <navigation-case> <from-outcome>loginFail</from-outcome> <to-view-id>/erreur.jsp</to-view-id> </navigation-case> </navigation-rule> </faces-config>
La methode de la classe UserBean qui permet de valider mes données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 <%@ page contentType="text/html" %> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %> <core:view> <html:form> <html:outputText value="Identifiant / login : " /> <html:inputText value="#{user.loginUser}" /> <br/> <html:outputText value="Mot de passe : " /> <html:inputSecret value="#{user.passwordUser}" /> <br/> <html:commandLink action="#{user.validate}" value="Connection" /> </html:form> </core:view>
Mon soucis :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 public String validate(){ if (this.loginUser.equals("A") && this.passwordUser.equals("A")){ return "loginSuccess"; } else{ return "loginFail"; } }
Quoi qu'il arrive ça ne fait que recharger la page index.jsp et ça ne redirige pas du tout la ou ça devrait.... J'ai lu que ça avait se comportement si la methode retourne "null" mais ce n'est pas le cas je l'ai passé au debuggeur...
Donc est ce que qqun voit qqch qui ne va pas ?
Partager