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 :

[jsf] transmettre un paramétre d'une page à l'autre


Sujet :

JSF Java

  1. #1
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut [jsf] transmettre un paramétre d'une page à l'autre
    Bonjour,

    J'aimerais passer un paramétre lors d'un <h:commandButton> ou lors d'un <h:commandlink>.
    Le but est tout simplement de faire une page générique vers un tableau. Le contenu du tableau peut etre list1 si la page est appelé par page et sera list2 si la page est appelé par page 2.

    page1.jsf ==> page_tab.jsf avec list1 passé en paramétre à page_tab
    page2.jsf ==> page_tab.jsf avec list2 passé en paramétre à page_tab

    en resumé je veux faire ça:
    <jsp:include page="/include.jsp">
    <jsp:param name="type" value="son"/>
    </jsp:include>

    mais en jsf

    Est que ça pourrais marcher si je fais
    <h:commandbutton action="page_tab" value="Ok">
    <f:param id="list" value="list1">
    </h:commandbutton>

    Ensuite comment recuperer le paramétre dans page_tab.jsf ? avec l'id de param ?

    Sinon peut-on faire ça en utilisant les tiles ?

  2. #2
    Membre éprouvé Avatar de et.rond.et.rond
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 110
    Par défaut
    pour les tiles j'ai appris plein de chose en regardant l'exemple qui est téléchargeable là :
    http://www.lifl.fr/~dumoulin/tiles/doc/download.html
    dans le fichier tiles.tar.gz charge tiles-blank.war il y a un exemple de base pour comprendre comment ça marche

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    merci je vais voir si ça peut m'aider

  4. #4
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    Je pense qu'il vaut mieux passer par les managed beans JSF (de portée "request" ou "session") pour stocker cette valeur.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2002
    Messages
    186
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 186
    Par défaut
    le probleme des managedbean portee request c'est qu'il ne sont pas transmis si la navigation est en mode redirect. En effet, lorque qu'un action retourne un outcome différent de null, alors jsf demande au browser de transmettre sa requete à la nouvelle page, du coup il perd les paramètres car il s'agit d'une nouvelle requete...
    Effectivement, il semble que la session soit l'unique solution à envisager dans ce dernier cas!

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    Tout d'abord Merci de vos reponses

    mais je crois que j'ai mal expliqué mon probléme.

    Je ne veux pas transmettre la liste. Dans ce cas je suis d'accord qu'il faudrait passer par un managed Bean de porté session.

    Je voudrais juste transmettre le String "list1" afin de savoir qui je dois afficher la list1 (qui elle est en session).

    Une url du genre www.localhost/projet/page1.jsf ? id=list1.

    et apparement je pourrais recuper l'id avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FacesContext fc = FacesContext.getCurrentInstance();String id = (String) fc.getExternalContext().getRequestParameterMap().get("id");
    mais ça reste encore à confirmer

  7. #7
    Membre Expert
    Avatar de alexismp
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 503
    Par défaut
    Ca dépend de ce que tu entends par "transmettre". Si c'est dans la session, c'est accessible à ta page cible. Qui peut le plus, peut le moins...

  8. #8
    Membre éclairé
    Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Octobre 2002
    Messages : 89
    Par défaut
    j'en suis au chapitre 13 du bouquin "java server faces in action" et je vois que pour passer les paramètres d'une page à l'autre, ils ont un bean session, qui s'apelle "Visit" et qui retient les choix de l'ulisateur au fur et à mesure

    Ce bean est injecter à tous les bean "request" qui ont besoin de s'avoir quelle sont les données demandées (par exemple, quel est le projet selectionné)

    Finalement comme ce bean est spécialisé, il n'est pas trop gros et la solution me parrait pas mal (je vais l'appliquer à mon propre projet)

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 14/06/2012, 17h18
  2. Transmettre des données d'une page à l'autre
    Par fl0_9 dans le forum Windows Phone
    Réponses: 2
    Dernier message: 23/05/2011, 21h49
  3. Transmettre une info d'une page à l'autre
    Par Ceubex dans le forum Langage
    Réponses: 4
    Dernier message: 30/07/2006, 13h33
  4. [Javascript] Transmettre des données d'une page à une frame!
    Par krolineeee dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/03/2006, 09h09
  5. Réponses: 7
    Dernier message: 06/02/2006, 11h48

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