IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Redirection vers une page


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut Redirection vers une page
    bonjour tout le monde
    j'ai un problème avec la page welcome 'page d’accueil ' avec login si le nom et mot de passe correct alors rediriger vers la page welcome.xhtml
    je vous montre code source de l'application
    web.xml
    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    <?xml version="1.0"?>
    <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
     
     
      <display-name>mus</display-name>
    <welcome-file-list>
        <welcome-file>welcome.xhtml</welcome-file>
    </welcome-file-list>  
     <servlet>
                <servlet-name>Faces Servlet</servlet-name>
                <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
            </servlet>
            <servlet-mapping>
                <servlet-name>Faces Servlet</servlet-name>
                <url-pattern>*.xhtml</url-pattern>
            </servlet-mapping>
     <filter>
        <filter-name>LogFilter</filter-name>
        <filter-class>
            LoginFilter
        </filter-class>
     
    </filter>
    <filter-mapping>
        <filter-name>LogFilter</filter-name>
        <url-pattern>/test/*</url-pattern>
    </filter-mapping>
     	
     
    <security-constraint> 
        <web-resource-collection> 
              <web-resource-name>security</web-resource-name>
                <description>Declarative security tests</description>
                <url-pattern>/test/*</url-pattern>
                <http-method>HEAD</http-method>
                <http-method>GET</http-method>
                <http-method>POST</http-method>
                <http-method>PUT</http-method>
                <http-method>DELETE</http-method>
     </web-resource-collection> 
     
        <auth-constraint>
       <role-name>admin</role-name>
      </auth-constraint>
    </security-constraint> 
     
    <login-config> 
        <auth-method>FORM</auth-method> 
        <realm-name>MyDomain</realm-name>
        <form-login-config> 
            <form-login-page>/test/entrer.xhtml</form-login-page> 
            <form-error-page>/test/erreur.xhtml</form-error-page> 
        </form-login-config> 
    </login-config>
     
    <security-role>
      <role-name>admin</role-name>
     </security-role>
    <session-config>
    <session-timeout>1</session-timeout>
    </session-config>
     
    </web-app>
    et la page entrer.xhtml

    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
     
    <!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">
     
    	   <h:head>
            <title>Login page</title>
        </h:head>
        <h:body>
     
            <h1>Login page</h1>
     
            <form method="post" action="j_security_check">
                Login<br/>
                <h:inputText id="j_username" label="Login" required="true"/>
                <br/>Password<br/>
                <h:inputSecret id="j_password" label="password" required="true"/>
                <br/><h:commandButton value="Valider"  action="#{User.authenticate()}"/>
            </form>
        </h:body>
    </html>
    je voudrais savoir comment je peu rediriger le résultat de l’exécution de cette action"http://localhost:8080/mus/test/voir.xhtml" vers la page welcome.xhtml.

    merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2012
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2012
    Messages : 23
    Par défaut
    Dans ta méthode User.authenticate() tu dois rajouter ça à la fin :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    				externalContext.redirect(externalContext
    						.getRequestContextPath() + "/member/dashboard.xhtml");

    PS: dans cet exemple les pages dans utilisateur connecté sont dans le dossier member/

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par défaut
    A tester tu peux aussi juste retourner la page que tu veux appeler dans le retour de ta méthode User.authenticate()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(authenticate)
    return "/member/dashboard.xhtml";
    PS : Fonctionne uniquement pour la version 2.x de JSF

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    j'ai créé un dossier qui contient la page welcome.xhtml et j'ai créer une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     public void logOut() {
    		 try {
     
     
    		 ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
     
    		 FacesContext.getCurrentInstance().getExternalContext().redirect(externalContext.getRequestContextPath() + "/member/welcome.xhtml");
    		 } catch (IOException ex) {
    		 System.out.println("UserSessionBean - IOException: " + ex.toString());
    		 }
    		 }
    et dans ma page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <br/><h:commandButton value="Valider"  action="#{User.logOut()}"/>
    mais toujours même chose

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Par défaut
    Tu as essayé avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String logOut() {
     
            return "/welcome.xhtml"; 
    }
    ?

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Par défaut
    c'est toujours la même chose

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/01/2006, 21h33
  2. [Tomcat] session expirée redirection vers une page
    Par Casp dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 19/01/2006, 11h45
  3. redirection vers une page internet
    Par chti_juanito dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 09/01/2006, 17h42
  4. Redirection vers une page contenant celle qui redirectionne
    Par Rémiz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 16/11/2005, 14h38
  5. [PRO] redirection vers une page
    Par Mister_FX dans le forum ASP
    Réponses: 10
    Dernier message: 23/06/2004, 17h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo