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 :

Backing bean et passage de valeurs


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 15
    Points : 14
    Points
    14
    Par défaut Backing bean et passage de valeurs
    Voici un extrait de mon formulaire jsf :
    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
     
    <h:form binding="#{backing_editfederation.form1}" id="form1">
            <h:panelGrid columns="2" binding="#{backing_editfederation.panelGrid1}"
                         id="panelGrid1">
              <h:outputLabel value="Identifiant :"
                             binding="#{backing_editfederation.outputLabel1}"
                             id="outputLabel1"/>
              <h:inputText binding="#{backing_editfederation.inputTextId}"
                           id="inputTextId"
                           value="#{backing_listfederation.toedit.idfederation}"
                           readonly="true"/>
              <h:outputLabel value="Nom :"
                             binding="#{backing_editfederation.outputLabel2}"
                             id="outputLabel2"/>
              <h:inputText binding="#{backing_editfederation.inputTextName}"
                           id="inputTextName"
                           value="#{backing_listfederation.toedit.nom}"/>
            </h:panelGrid>
            <h:commandButton value="Mettre à jour"
                             binding="#{backing_editfederation.commandButton1}"
                             id="commandButton1"
                             action="#{backing_editfederation.commandButton1_action}"/>
          </h:form>
    Comme vous pouvez le voir, la valeur des inputText vient d'un backing bean de la page précédente (page listing: backing_listfederation.toedit.nom). Bien que l'id soit par exemple inputTextName et que j'ai un getter/setter dans mon backing-bean pour cette propriété, si je laisse le code tel quel, il essaye de trouver une propriété nom lorsque je submit le formulaire, me renvoyant l'erreur suivante :

    Error testing property 'nom' in bean of type null
    Comment empêcher cette erreur sans devoir rajouter d'autres getter/setter dans mon backing-bean?

  2. #2
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    J'essaie une autre méthode mais qui ne fonctionne pas non plus.

    Dans mon backing bean qui liste les éléments de mon data model, je tente d'initialiser les inputFields se trouvant sur la page d'édition :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        public String commandLink_action() {
            FacesContext fc = FacesContext.getCurrentInstance();
            Editfederation bean = (Editfederation) fc.getApplication().getVariableResolver().resolveVariable(fc, "backing_editfederation");
            Federation toedit = (Federation)getDataTable1().getRowData();  
            bean.getInputTextId().setValue(toedit.getIdfederation());
            bean.getInputTextName().setValue(toedit.getNom());
            return "editfederation";
        }
    Mon problème est que les InputFields de l' Editfederation bean ne sont pas initialisés(null) et donc j'obtiens une npe lorsque j'essaie d'appeler setValue.

  3. #3
    Membre habitué Avatar de faico
    Inscrit en
    Août 2005
    Messages
    242
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 242
    Points : 179
    Points
    179
    Par défaut
    Salam,
    Est ce qu'il te manque pas un parametre ActionEvent dans ta methode commandLink_action() ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     public String commandLink_action(ActionEvent e) {
            FacesContext fc = FacesContext.getCurrentInstance();
            Editfederation bean = (Editfederation) fc.getApplication().getVariableResolver().resolveVariable(fc, "backing_editfederation");
            Federation toedit = (Federation)getDataTable1().getRowData();  
            bean.getInputTextId().setValue(toedit.getIdfederation());
            bean.getInputTextName().setValue(toedit.getNom());
            return "editfederation";
        }

  4. #4
    Membre à l'essai
    Inscrit en
    Décembre 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    Pas trop fait attention à ca, le squelette de la méthode a été généré par Jdeveloper.

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Points : 514
    Points
    514
    Par défaut
    La réponse est dans La FAQ anglaise :

    http://www.jsf-faq.com/faqs/faces-exception.html#103

  6. #6
    Membre du Club
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 44
    Points
    44
    Par défaut
    je crois que tu as utilisé le bean request.

    si oui c'est normal que tu trouve une valeur null

Discussions similaires

  1. Réponses: 16
    Dernier message: 17/01/2010, 09h33
  2. Réponses: 4
    Dernier message: 27/02/2009, 21h57
  3. Réponses: 7
    Dernier message: 08/11/2007, 19h39
  4. [JSF - Backing Bean] Valeur par défaut
    Par gufra dans le forum JSF
    Réponses: 4
    Dernier message: 26/09/2007, 15h44

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