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 :

a4j:actionparam PropertyNotWritable Exception


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut a4j:actionparam PropertyNotWritable Exception
    Salut,

    J'ai une page avec un dropDownMenu.
    Chaque menuItem ouvre une autre page.
    Pour transmettre un parametre d'un chaque menuItem a la page a ouvrir respective, j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <a4j:actionparam name="name" value="R01" assignTo="#{myBean.name}">
    J'ai verifie le setter qui met la valeur de la propriete "name" de ma page en "R01", mais le getter me donne toujours null et une exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    17:00:02,924 INFO  [lifecycle] WARNING: FacesMessage(s) have been enqueued, but may not have been displayed. 
    sourceId=null[severity=(ERROR 2), summary=(model validation failed:
     javax.el.PropertyNotWritableException: Illegal Syntax for Set Operation), detail=(model validation failed:
     javax.el.PropertyNotWritableException: Illegal Syntax for Set Operation)]
    S'il vous plait, si qn a une idee...
    Merci,
    Cris

  2. #2
    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 as bien fait le getter et le setter sur ta propriété name dans myBean ?

    Sinon, tu peux ajouter un <rich:messages ajaxRendered="true"/> sur ta page pour voir l'erreur...
    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

  3. #3
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    Salut,

    j'ai mis les getter/setter, mais j'obtiens toujours:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    sourceId=null[severity=(ERROR 2), summary=(model validation failed:javax.el.PropertyNotWritableException:
     Illegal Syntax for Set Operation), 
    detail=(model validation failed: javax.el.PropertyNotWritableException: 
    Illegal Syntax for Set Operation)]



    Peut-etre il existe un moyen de transmettre ce parametre, sauf actionparam?
    Qn.. s'il vous plait..

  4. #4
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Tu peux toujours essayer avec ceci, mais c'est bizarre ce problème ....

    Tu as un <h:messages /> dans ta page ? Et montre nous le code du managed bean stp.

  5. #5
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    Salut,

    Uh.. c'est assez complique de montrer e code..
    En fait, j'ei une page menu.xhtml, ou j'ai un dropdownMenu, chaque item devant mener sur une autre page (List.xhtml):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     <rich:dropDownMenu value="Pilotage" >                
             <rich:menuItem submitMode="ajax" 
                     action="/List.xhtml"                               
                     value="Nombre maximal d'offres">                    
                     <a:actionparam name="rule" value="R01" 
                          assignTo="#{Home.rule}"/>
             </rich:menuItem>                                
      </rich:dropDownMenu>
    Home.java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String rule;
    public String getRule() {        
            return this.rule;
    }
    public void setRule(String rule) {
      this.rule = rule;
    }
    Si je verifie le rule dans la List.xhtml, j'ai l'erreur, mais la valeur envoyee du param c'est bonne.

    J'ai encore une page Edit.xhtml, ou je dois de vouveau verifier la valeur de "rule" comme suit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     .. value="#{rule=="R01" ? val1 : val2}"
    ici, il est deja null...

    voila..
    Merci beaucoup..

  6. #6
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Vas y plutôt comme ça:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    value="#{rule=='R01' ? 'val1' : 'val2'}"

  7. #7
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    Il me semble que c'est plutot un probleme avec Home.java. Peut-on avoir 2 instances de Home a l'execution du code, ainsi que le deuxieme appel est fait pour un autre Home que celui auquel on a attribue la valeur du rule?

  8. #8
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Ca dépend du scope de home: si c'est request, tu va perdre la valeur au passage d'une page à une autre, si c'est session, la valeur n'est pas perdu.

  9. #9
    Membre averti
    Inscrit en
    Août 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Août 2007
    Messages : 35
    Par défaut
    j'ai essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     f:setPropertyActionListener value="#{something}"
    		target="#{bean.selectedSomething}" />
    Meme erreur..
    Comment savoir si c'est Request ou Session?

  10. #10
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Euh ... c'est toi qui l'a déclaré comme managed-bean dans faces-config.xml, et c'est là que tu définies le scope. C'est request par défaut (à moins qu eje ne m'abuses).

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
    	<managed-bean-name>home</managed-bean-name>
    	<managed-bean-class>Home</managed-bean-class>
    	<managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/08/2012, 11h28
  2. Exception & Try..catch
    Par PurL dans le forum C++Builder
    Réponses: 2
    Dernier message: 11/12/2002, 15h35
  3. Réponses: 3
    Dernier message: 01/11/2002, 14h30
  4. Réponses: 5
    Dernier message: 12/06/2002, 15h12
  5. c: gestion des exceptions
    Par vince_lille dans le forum C
    Réponses: 7
    Dernier message: 05/06/2002, 14h11

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