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 relative selectOneMenu


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut Redirection relative selectOneMenu
    Bonjour,

    Je suis face à un petit problème...
    Il faut que j'arrive à rediriger l'utilisateur vers la page d'accueil de mon appli lorsqu'il sélectionne un élément dans un selectOneMenu (quelque soit l'élément sélectionné)

    Mon selectOneMenu ressemble à ceci pour l'instant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <h:selectOneMenu id="langue"
    	value="#{langueUtilisateurBean.idLangue}"
    	valueChangeListener="#{langueUtilisateurBean.modifLangueUtilisateur}">
    	<f:selectItems value="#{langueUtilisateurBean.items}" />
    </h:selectOneMenu>
    <h:commandButton class="bouton"  value="#{commonLabels['common.ok']}"
    	action="#{langueUtilisateurBean.act}">
    </h:commandButton>
    Le bouton étant la pour me permettre la redirection vers la page d'accueil. (La méthode act, ne fait que retourner un outcome me permettant de me rediriger vers la page de mon choix)
    Le problème, c'est que je doit impérativement virer ce bouton, et qu'à ma connaissance, on ne peut pas utiliser l'attribut "action" dans un selecOneMenu, et donc impossible de retourner un outcome ds un selectOneMenu
    J'ai bien pensé à la solution javascript (un truc du genre : onChange="submit();" ou bien onChange="window.location.href...")
    Le pb c'est que visiblement, on ne peut pas faire de redirection relative en javascript... alors qu'il faut que je puisse me rediriger vers ma page d'accueil quelque soit le nom de domaine futur de l'appli...

    Si quelqu'un avait quelques pistes pour moi, ca m'arrengerai bcp,

    Merci d'avance !

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Par défaut
    Bonjour,

    La solution réside dans l'utilisation de ValueChangeListener sur ton select one.
    Après pour la redirection, tu peux forcer une navigation en tapant dans le FacesContext.

  3. #3
    Membre éclairé Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    Merci mad-math,

    J'voyait bien un truc dans le genre également,

    Mais mon problème, c'est comment forcer cette redirection !

    Aurais tu par hasard, un petit bout de code à me laisser pour m'inspirer?

    Merci d'avance !

  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
    Si je ne m'abuse, il suffit juste d'utilier le setViewId :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FacesContext.getCurrentInstance().getViewRoot().setViewId("idDeLaNouvellePage");
    A vérifier toutefois
    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 éclairé Avatar de maloups
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 332
    Par défaut
    arff ...

    Ca va pas être pratique tout ca.... Fonctionnalité que je ne connaissais pas et très interressante qui plus est, malheureusement, j'utilise facelet, et pour des raison de commodité, il n'y a qu'un seul "view" dans mon appli, qui se trouve dans le template, du coup ca risque de poser quelques problème...

    Merci quand même c'etait une piste très intéressante

  6. #6
    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
    Tu n'as donc aucune règle de navigation ?

    Pour information, écrire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:commandButton action="quelquePart" .../>
    et ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FacesContext.getCurrentInstance().getViewRoot().setViewId("quelquePart");
    revient au même.

    Ca m'étonne parce que dans ton 1er post, tu regrettais l'absence de l'attribut action pour les selectOneMenu (ce qui se comprend toutefois)...
    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

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/08/2013, 19h07
  2. Réponses: 10
    Dernier message: 28/11/2011, 17h27
  3. Réponses: 3
    Dernier message: 01/11/2011, 21h57
  4. Réponses: 3
    Dernier message: 02/08/2011, 13h55
  5. Redirection automatique avec selectOneMenu
    Par iliass001 dans le forum JSF
    Réponses: 2
    Dernier message: 09/07/2011, 01h07

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