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 en JSF


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 79
    Par défaut Redirection en JSF
    salut je suis en train de faire une application web JSF dont laquelle j'ai beaucoup de redirection d'une page vers une autre exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                <rich:panelMenuGroup label="Pole Score Board">
                    <rich:panelMenuItem label="Allocate project ressources" action="#{redirection.from_site_admin_page_to_allocate_project_ressources_site_admin}">                
                    </rich:panelMenuItem>              
                </rich:panelMenuGroup>
    le fichier redirection contient ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String from_site_admin_page_to_allocate_project_ressources_site_admin()
    {
        return "from_site_admin_page_to_allocate_project_ressources_site_admin";
    }
    et le faces-config contient ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <navigation-rule>
            <from-view-id>/site_admin_page.jsp</from-view-id>
                        <from-outcome>from_site_admin_page_to_allocate_project_ressources_site_admin</from-outcome>
                <to-view-id>/allocate_project_ressources_site_admin.jsp</to-view-id>
            </navigation-case>
     
     
        </navigation-rule>
    vraiment c'est terrible de faire ca.y a t il une moyen plus facile a faire.un logiciel/framework/API qui peut m'aider de ne pas faire tous ca (toucher 3 fichier juste pour faire une simple redirection).
    Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Windev
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Windev
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Par défaut
    Bonjour,

    Je ne pense pas que tu doives faire une méthode pour ton action si tu ne fait que renvoyer un string.

    Tu peux juste déclarer ta règle de navigation dans faces-config.xml et dans ton action tu mets simplement la valeur de ton <from-outcome> (donc ici from_site_admin_page_to_allocate_project_ressources_site_admin).

    Maintenant si tu as besoin de faire certaine chose avant de passer à l'autre page tu doit faire une méthode et donc touché les 3 fichiers au lieu de 2.


    C'est comme ça que je fait depuis 1 mois et que je suis mis a JSF donc si il y a une autre méthode je suis preneur aussi ^^

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 79
    Par défaut
    beh mon ami on attend un expert qui nous répondra

  4. #4
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    En gros, il y a deux types d'actions en JSF :

    1. L'action statique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="nouvellePage" .../>
    Utile seulement si tu n'as pas de code métier à exécuter de ton côté, et que le bouton (ou le lien) amène toujours à la même autre page.

    2. L'action dynamique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="#{bean.doSomething}" .../>
    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public String doSomething() {
        // code...
        return "nouvellePage";
    }
    Pratique quand on veut exécuter du code au niveau du serveur avant de rediriger un utilisateur vers une autre page. Pratique aussi si on veut rediriger l'utilisateur vers différentes pages, en fonction de conditions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public String doSomething() {
        // code...
        if (uneCondition) {
            return "unePage";
        } else {
            return "uneAutrePage";
        }
    }
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 79
    Par défaut
    Merci de votre aide mais tu veux dire ca
    par
    <h:commandButton action="nouvellePage" .../>
    <h:commandButton action="nouvellePage.jsp" .../>
    et ci c'est le cas (redirection statique)
    dois je manipuler le fichier faces-config?

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Windev
    Inscrit en
    Février 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Windev
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 46
    Par défaut
    non, par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton action="nouvellePage" .../>
    il veut dire ce que j'ai dit :
    Tu peux juste déclarer ta règle de navigation dans faces-config.xml et dans ton action tu mets simplement la valeur de ton <from-outcome> (donc ici from_site_admin_page_to_allocate_project_ressources_site_admin).

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Dans les 2 cas, le String retourné par l'action Java, ou le String directement dans l'attribut "action" du composant, il s'agit bien de l'identifiant de la navigation rule correspondante.

    Ce qui est déclaré dans le faces-config.xml donc...
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  8. #8
    Membre confirmé
    Inscrit en
    Octobre 2007
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 79
    Par défaut
    Merci c'est fait trés bonne idée

  9. #9
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut
    Bonjour
    J'ai le même type de problème, mais ma redirection ne fonctionne pas : je n'utilise pas h:commandButton, j'utilise un h:commandLink pour un lien 'deconnexion'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    			<h:commandLink
    				action="deconnexion"
    				value=" ok"/>
    			<h:commandButton
    				action="deconnexion"
    				value=" ok"/>
    le premier lien me redirige sur ma page actuelle, le second me redirige bien vers la page d'accueil ; pourquoi ? j'ai beau mettre immediate à true, c'est pareil

  10. #10
    Membre averti
    Inscrit en
    Septembre 2005
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 16
    Par défaut
    euh

    faut utiliser a4j:commandLink à la place

    désolé du dérangement

  11. #11
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Par défaut
    Bonjour à tous ,


    J'ai un probleme de redirection en jsf .

    Apres le lancement d'une requete de recherche je retour

  12. #12
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Par défaut
    désolé , je veux dire que je suis redirigé automatiquement vers la page précédente

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Par défaut
    Bonjour à tous !
    Apparemment le problème est résolu! mais j'aimerai vous annoncer le mariage de jsf et Spring Web Flow (SWF)!! qui va s'occuper de vos redirection d'une manière très simple et c'est un très bon couplage!!
    il suffit de dire au framwork JSF tu laisse la main à Spring Web Flow pour tout ce qui est redirection (Actions ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    <application>
    		<navigation-handler>org.springframework.webflow.executor.jsf.FlowNavigationHandler</navigation-handler>
    		<variable-resolver>org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver</variable-resolver>
    .
    .
    .
    </application>
    ...
    Dans le fichier faces-config.xml

  14. #14
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Avril 2009
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2009
    Messages : 102
    Par défaut
    Citation Envoyé par luminien Voir le message
    Bonjour à tous !
    Apparemment le problème est résolu! mais j'aimerai vous annoncer le mariage de jsf et Spring Web Flow (SWF)!! qui va s'occuper de vos redirection d'une manière très simple et c'est un très bon couplage!!
    il suffit de dire au framwork JSF tu laisse la main à Spring Web Flow pour tout ce qui est redirection (Actions ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ...
    <application>
    		<navigation-handler>org.springframework.webflow.executor.jsf.FlowNavigationHandler</navigation-handler>
    		<variable-resolver>org.springframework.webflow.executor.jsf.DelegatingFlowVariableResolver</variable-resolver>
    .
    .
    .
    </application>
    ...
    Dans le fichier faces-config.xml
    Bonjour je travaille avec spring et jsf sous myeclipse et quand j'ai rajouté ces lignes dans le faces-config j'ai cette erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Cannot find fully qualified class: org.springframework.webflow.executor.jsf.FlowNavigationHandler
    est ce que vous savez la raison de cette erreur !!!

    Merci .

  15. #15
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2006
    Messages : 67
    Par défaut
    Bonjour,
    Tout simplement parce qu'à mon avis tu n'a pas ajouté les jar du spring web flow !!
    sinon il faut lire un tutoriel sur le spring web flow !!
    car il faut déclarer tes flows dans des fichiers xml !!
    puis je ne sais pas si ton projet et maveniser (est ce que tu utilise maven), si oui il faut déclare les dépendances !! ce n'est pas aussi simple de mettre en place le spring web flow !! Mais une fois tout le travail est fait, le reste devient beaucoup plus simple!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de redirection sur jsf 1.2
    Par Philcmoi dans le forum JSF
    Réponses: 1
    Dernier message: 25/02/2013, 14h42
  2. redirection vers une page jsf
    Par tongo dans le forum JSF
    Réponses: 8
    Dernier message: 19/02/2012, 16h51
  3. redirection vers une page JSF après 5 secondes
    Par tunbader dans le forum JSF
    Réponses: 0
    Dernier message: 29/06/2009, 10h46
  4. Redirection JSF en utilisant un bean
    Par maxattack dans le forum JSF
    Réponses: 8
    Dernier message: 02/04/2007, 14h15
  5. [Portlet/Jsf] Login et redirection
    Par CtHu dans le forum JSF
    Réponses: 3
    Dernier message: 10/04/2006, 12h38

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