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 : comment modifier un champ d'un bean ?


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut JSF : comment modifier un champ d'un bean ?
    Bonjour,

    Je débute depuis aujourd'hui en JSF
    je cherche depuis ce matin comment modifier un bean: WizardManager.bean.createFrom
    pour mettre la valeur "toto" dedans.
    C'est une variable par défaut de Alfresco et je n'ai pas es au code java mais je sais qu'il existe une methode setCreateFrom ou truc de ce genre.

    Savez-vous comment je peux modifier cette valeur a l'aide d'une ligne de code pour qu'elles ne soit plus egale comme par defaut a titi mais égale a toto?

    je vous remercie d'avance

  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
    Bonjour et bienvenue à toi,

    Je ne suis pas sûr de bien te suivre dans ta démarche, mais généralement, quand on écrit une expression EL du type WizardManager.bean.createFrom, alors ça équivaut à WizarManager.getBean().getCreateForm().
    Du coup, il te suffit, de ton côté, de récupérer WizarManager, de récupérer sa propriété bean et de setter le createForm. Genre :
    WizarManager.getBean().setCreateForm("toto"); (en supposant qu'il s'agisse d'un String).
    C'est pas non plus obligé que le bean en question propose un setter pour createForm. Il y a forcément un getter, mais le setter n'est pas obligatoire.

    Maintenant, je trouve le processus assez étrange... Peux-tu nous en dire plus ?
    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
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    bonjour,

    je te remercie de ta réponse.
    Désolée de ne pas avoir été assez précise.

    J'ai une page .jsp dans laquelle j'ai des appels a des balises de code jsf du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:outputText value="#{WizardManager.bean.createFrom}" />
    Le probleme c'est que je ne trouve aucune balise de ce type me permettant de changer la valeur de mon du champ referencé par #{WizardManager.bean.createFrom}

    Je sais que quand je met cette EL dans un inputtext, je peux modifier la valeur a la main, donc il doit appeller une methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WizarManager.getBean().setCreateForm("toto")
    mais impossible de trouver comment l'appeller a l'aide de lignes de code du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <h:outputText value="#{WizardManager.bean.createFrom}" />
    J'espère avoir bien expliqué. Je me demande si je peux lancer un truc du style :#{WizardManager.bean.setCreateFrom} en précisant que je n'ai pas le code java du bean dans Alfresco a moins de m'être trompé.
    En gros il faudrait que je trouve une fonction de ce style ou y a t il une autre solution ?

    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
    Tu peux toujours utiliser un inputText au lieu d'un outputText. Comme ça, à la soumission du formulaire contenant cet inputText, alors JSF appellera le setter de createForm...
    Mais bon, c'est pas forcément ce que tu souhaites faire...
    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 averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Merci de ta réponse,

    Mais est-ce que je peux modifier cette valeur automatiquement Si je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:inputText id="TOTO" value="#{WizardManager.bean.createFrom}" />
    ?

    Dois-je dans cet inputText appeler une autre fonction ?

    Je suppose que je peux le mettre en non modifiable par l'utilisateur, ou hidden.

    SINON

    J'ai avancé un peu :
    La classe java dont j'ai besoin est celle-ci :
    http://jsourcery.com/api/sourceforge...aceWizard.html

    j'ai trouvé la methode :
    setCreateFrom(java.lang.String createFrom)

    Cette methode nécessite un paramètre. Savez vous comment je peut l'appeler en JSF :
    - passage de paramètres
    - avec quels outils d'affichages ?

    Merci d'avance

  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
    Pourquoi tu veux changer cette valeur dans la page JSF ? Ne préfèrerais tu pas la changer dans le code Java par exemple ?
    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

  7. #7
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    J'ai essayé de changer le code JAVA la valeur par defaut,
    le problème c'est que cela doit être lié sous Alfresco à une autre fonctionnalité aussi, résultat si je change la valeur par defaut du code JAVA, ça fait planter une autre fonction

  8. #8
    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
    Je ne connais pas Alfresco... mais peut être qu'il n'est pas prévu que la valeur de createForm soit changée comme ça, non ?
    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

  9. #9
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Oui il ne vaut mieux pas que je modifie les code sources JAVA

    Par contre est-ce que l'on peut en JSF (ou JSP) passer des paramètres a la fonction setCreateFrom('valeur') ?
    il faudrait forcer à déclencher l'evenement onChange ou truc de ce genre.

  10. #10
    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
    Citation Envoyé par Milona Voir le message
    Oui il ne vaut mieux pas que je modifie les code sources JAVA
    Je ne parlais pas de modifier le code Java, mais de modifier la valeur de la propriété en question...
    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

  11. #11
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    aahh!

    Si en fait je peux la modifier mais pas par défaut.

    car la valeur pas défaut est remise à défaut en début d'appel du wizard/bean
    donc là ou je suis dans le code, je peux modifier la valeur a l'aide de setter mais surtout pas la valeur par défaut car ça çà fait tout planter.

    Mais je ne sais pas comment appeler une fonction avec des paramètres en JSF.
    Est-ce que tu sais faire ça ?

    merci d'avance

  12. #12
    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,
    Non, JSF EL ne permet pas de faire ça, i.e. appeler une méthode avec des paramètres. C'est contraignant je te l'admets, mais il faut voir que l'EL n'est pas un lanagage de programmation, et qu'il est censé juste faire le binding entre composants/attributs dans des classe Java, pas pour faire des traitement (s'il le permettait, autant revenir aux scriptlets Java dans les pages JSP, une approche populaire le sciècle précédent, avant l'avènement des bonnes pratiques de développement web : mvc et co. ).

    Je ne connais pas non plus la bibliothèque que tu utilises, mais tu peux toujours la wrapper dans ton managed bean pour faire ce que tu veux tout en n'ayant pas besoin d'appeler des méthodes avec paramètres dans l'EL.


    P.S.: Pour être plus précis dans la réponse, oui, Romain sait faire ça, en utilisant ELFunctor au lieu de l'implémentation EL standard

  13. #13
    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
    Citation Envoyé par djo.mos Voir le message
    P.S.: Pour être plus précis dans la réponse, oui, Romain sait faire ça, en utilisant ELFunctor au lieu de l'implémentation EL standard
    C'est EL Functor qui sait faire ça, pas moi... Enfin, je sais me servir d'EL Functor mais bon Je tiens toutefois à préciser que je ne suis pas du tout membre de l'équipe de développement d'EL Functor, hein !
    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

  14. #14
    Membre averti
    Inscrit en
    Mars 2008
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 13
    Par défaut
    Merci à vous !
    C'est bien clair !

    Et bien je vais faire des recherches sur ELFunctor.

    A bientôt

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/07/2006, 11h51
  2. Réponses: 12
    Dernier message: 19/06/2006, 16h26
  3. [C#] Comment modifier un champ dans un Repeater ?
    Par ToxiZz dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/05/2006, 09h25
  4. Comment modifier un champ quand le formulaire change?
    Par benjapar dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 15/03/2006, 23h01
  5. Comment modifier un champ dans une table liée ?
    Par HookerSeven dans le forum Access
    Réponses: 11
    Dernier message: 05/02/2006, 23h50

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