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 :

sauvegarde de paramètres lors de l'actualisation d'une page.


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lkryss
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut sauvegarde de paramètres lors de l'actualisation d'une page.
    Bonjour,

    mes connaissances en jsf sont réduites et je n'ai pas trouvé de réponses ni dans mes recherches ni dans la FAQ .

    explication de mon cas :

    j'ai un formulaire en jsf qui récupère de valeurs en GET car il est appelé par une page php. ces dernières valeurs me permettent de pré remplir mon formulaire afin de créer une URL. une fois la validation du formulaire faite j'appelle alors une autre page en lui donnant l'URL. L'URL n'est pas celle de la seconde page mais sera utilisé par celle ci.
    le code de la page 2 s'auto-appel (c'est un diagramme ILOG pour ne pas les citer).
    Mon problème étant que je récupère bien l'url a envoyer lors du passage de mon formulaire à ma seconde page, mais lorsque cette dernière se recharge je perd l'url.

    mon faces-config ressemble à ceci :
    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
     
    <navigation-rule>
            <description>Navigation from the form to the homepage or diagram</description>
            <from-view-id>/index.jsp</from-view-id>
            <navigation-case>
                <from-outcome>valider</from-outcome>
                <to-view-id>/boucles.jsp</to-view-id> 
            </navigation-case>
        </navigation-rule>
     
    <managed-bean>
            <description>The JSF application bean (boucle)</description>
            <managed-bean-name>boucle</managed-bean-name>
            <managed-bean-class>myBeans.Boucles</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
            <managed-property>
                <property-name>url</property-name>
                <property-class>java.lang.String</property-class>
                <value>#{formBean.url}</value>
            </managed-property>
    <managed-bean>
     
     
    <managed-bean>
            <description>Form bean</description>
            <managed-bean-name>formBean</managed-bean-name>
            <managed-bean-class>myBeans.formBean</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
            <managed-property>
                <property-name>host</property-name>
                <property-class>java.lang.String</property-class>
                <value>#{param.host}</value>
            </managed-property>
            <managed-property>
                <property-name>graphID</property-name>
                <property-class>java.lang.String</property-class>
                <value>#{param.graphID}</value>
            </managed-property>
    <managed-bean>
    formBean étant la bean gérant le formulaire, boucles gérant la seconde page. J'ai des setters/getters pour mon url sur ces 2 beans.

    donc si vous avez une idée, merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    ton bean est déclaré en scope request, il est disponible que pour une seule requête; si tu veux garder l'url, il faut le mettre en session..

  3. #3
    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
    Exactement.

    Il existe cependant des moyens de faire vivre un bean plus longtemps qu'une request sans le mettre pour autant en session.
    Cela se fait en utilisant les composants <t:saveState/> ou encore <a4j:keepAlive/>...
    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

  4. #4
    Membre confirmé Avatar de lkryss
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    j'avais pensé à faire cela, mais dans ce cas je ne vois pas comment lui indiqué les paramètres à récupérer. lorsque j'essaie d'accéder à mes variables avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    formBean  toto=(formBean) FacesContext.getCurrentInstance().getCurrentInstance().getExternalContext().getSessionMap().get("url");
    je ne récupère rien (idem en changeant formBean par autre chose, mais il reste possible que je ne m'en serve pas bien.)

  5. #5
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    url c'est un attribut du bean, le paramètre en session est le bean pas le paramètre..
    donc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    formBean  toto=(formBean) FacesContext.getCurrentInstance().getCurrentInstance().getExternalContext().getSessionMap().get("formBean");
    et pour plus d'infos.. un coup d'oeil sur la FAQ JSF

  6. #6
    Membre confirmé Avatar de lkryss
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    j'ai essayé aussi et ça ne me retourne que du null.
    pour info j'ai fait du :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    formBean           toto=(formBean) FacesContext.getCurrentInstance().getCurrentInstance().getExternalContext().getSessionMap().get("formBean");
    Boucles           toti=(Boucles) FacesContext.getCurrentInstance().getCurrentInstance().getExternalContext().getSessionMap().get("Boucles");
    et les deux ne me retournent null.

    edit : au temps pour moi, j'ai fait une erreur de frappe. j'arrive donc a accéder au bean de ma page 2 (boucles) qui possède une url null...

  7. #7
    Membre confirmé Avatar de lkryss
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 92
    Par défaut
    petit résumé :

    je récupère bien mon URL dans ma page 2 depuis ma page 1, je n'arrive pas à avoir accès au bean 1. Cependant je n'arrive toujours pas a transmettre l'url à mon bean 2.
    je suis pas mal paumé la, je ne comprend pas comment ma page arrive a afficher quelque chose auquel je n'ai pas accès, et à ne rien pouvoir modifier de ce a quoi j'ai accès

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/07/2010, 18h07
  2. Réponses: 0
    Dernier message: 11/03/2010, 17h45
  3. Réponses: 12
    Dernier message: 06/06/2006, 12h13
  4. Réponses: 2
    Dernier message: 09/01/2006, 09h38
  5. Passage de paramètres ds un lien hypertext ds une page xsl
    Par lenoir_franck dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/04/2005, 10h09

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