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 :

Problème selectOneItem avec un boolean


Sujet :

JSF Java

  1. #21
    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
    Pour l'intérêt de Facelets, tchize_ l'a expliqué succinctement dans un autre post.
    Maintenant, Tomahawk et Facelets peuvent cohabiter sans problème.

    De mon côté, j'utilise JSF avec Facelets, et RichFaces, qui propose pas mal de jolis composants.
    Mais j'ai dû ajouter la librairie Tomahawk pour 2 composants : le calendrier (je ne suis pas encore passé en RichFaces 3.1.0, je suis encore en 3.0.x, qui n'intègre pas ce composant), ainsi que le fileUpload.
    Du coup, tant que je peux rester sur les librairies core ou Facelets pour mes composants, je m'y limite. Mais ce n'est pas toujours possible.

    Tomahawk reste toutefois une très bonne librairie, et il n'est pas nécessaire à chercher à s'en débarrasser à tout prix
    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

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    Merci beaucoup pour ce partage d'expériences...

    Le principe de Facelets a l'air vraiment intéressant, mais du fait de l'impossibilité d'utiliser des scriptlets, j'aurai peur de me retrouver "coincée" sur quelques chose que JSF ne permet pas de faire... Mais je peux me tromper, surtout vu ma faible expérience sur JSF !

    Bon... je retourne me bagarrer avec MyFaces... Je vais de soucis en soucis, ce n'est pas très encourageant ! J'arrive heureusement plus ou moins à les régler ou les contourner, mais ça demande énormément de temps !

  3. #23
    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 marinew Voir le message
    Merci beaucoup pour ce partage d'expériences...
    De rien, c'est le but de ces forums

    Citation Envoyé par marinew Voir le message
    mais du fait de l'impossibilité d'utiliser des scriptlets, j'aurai peur de me retrouver "coincée" sur quelques chose que JSF ne permet pas de faire...
    A quoi penses-tu ? Je suis sûr qu'il existe une solution pour résoudre ces problèmes !
    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. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    Par exemple, j'ai cherché dans tous les sens, et fait un tas de tests pour pouvoir récupérer un message dans un fichier Bundle, depuis la méthode d'un bean appelée lorsque je soumets un formulaire.

    Je ne vois pas comment faire.
    J'ai ajouté un resource bundle dans le faces-config.xml, en supposant qu'il chargerait le bundle en scope application, mais j'ai l'impression qu'il ne charge rien du tout.
    Je n'ai pas de soucis par contre pour afficher un message depuis une page JSP, avec le tag <f:loadBundle>. Ca ça marche bien...

    Autre point : je suis partie dans l'idée de mettre le moins de choses possibles en session, mais plutot de les mettre en request.
    J'ai donc créé une classe contenant les propriétés de mon formulaire, ainsi que les collections de SelectItem dont j'ai besoin pour alimenter mes listes déroulantes. J'ai mis cette classe en scope request.
    Le problème, c'est que si j'ai une erreur de validation lors de la soumission de mon formulaire, je perds mes objets. Par exemple, les listes déroulantes sont vides lorsque le formulaire se réaffiche.
    Conclusion : soit je dois mettre ma classe en scope session (et là ça marche bien), soit j'ai encore loupé quelque chose !

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut Récupération d'un message depuis un ManagedBean
    Pour ceux qui seraient amenés à se casser la tête comme moi, pour trouver une information si simple, j'ai trouvé la réponse à ma question : Comment récupérer, depuis un ManagedBean, un message stocké dans un fichier Bundle.

    Il faut tout simplement utiliser la classe org.apache.myfaces.shared_impl.util.MessageUtils (encore fallait-il savoir qu'elle existait).

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesMessage monMessage = MessageUtils.getMessage("monRepertoire.monFichierBundle", "MA_CLEF",
       new String[]{"1er parametre","2e parametre"});
    et dans /monRepertoire/monFichierBundle.properties, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MA_CLEF=Ce qui correspondra au summary du FacesMessage. On peut y mettre des parametres comme ceci {0} ou cela {1}.
    MA_CLEF_detail=Ce qui correspondra au detail du FacesMessage.

    Pour ce qui est de mon autre interrogation du précédent post, j'ai finalement stocké mes ManagedBean en scope Session. Du coup, maintenant, je ne sais pas très bien comment gérer la réinitialisation de ces beans, une fois que j'ai fini d'utiliser un formulaire, en vue de le réutiliser plus tard. En effet, si je ne réinitialise pas les champs des mes beans, lorsque je reviens sur le même formulaire un peu plus tard, les champs sont déjà renseignés (logique).

  6. #26
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 42
    Par défaut
    Salut,
    quelqu'un a-t-il trouvé la réponse au problème.
    J'avoue etre aussi bloqué sur ce problème:

    Le code de ma JSP:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:selectOneRadio id="radio_autre_choix1" onclick="clear_all_except_me('paiementForm:radio_autre_choix1','0');"
    binding="#{paiementValidator.optionAutreChoix1}">
    	<f:selectItem itemValue="#{paiementData.cbInterditRadio}"
    	itemLabel="#{paie.LIB_PAIE_CARTE}"/>
    	<f:converter converterId="trimConverter" />
    </h:selectOneRadio>
    cbInterditRadio est de type selectItem

    Quand le validator s'exécute j'ai un message d'erreur:
    "radio_autre_choix2": La donnée n'est pas une option valide

    J'avoue que je me perds un peu dans tout ca, si quelqu'un pouvait m'eclairer sur mon problème ca m'aiderai beaucoup

  7. #27
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Par défaut
    fait ceci:
    dans le votre bean BeanClient :
    ............
    private SelectItem[] choix = { new SelectItem("True"), new SelectItem("False"), };

    public SelectItem[] getChoix() {
    return choix;
    }

    public void setChoix(SelectItem[] choix) {
    this.choix = choix;
    }


    et dans la page met cela:

    <h:selectOneMenu value="#{BeanClient.client.etat}"
    <f:selectItems value="#{BeanClient.choix}" />
    </h:selectOneMenu>

    ca devait marcher

  8. #28
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 53
    Par défaut
    fait ceci:
    dans le votre bean BeanClient :
    ............
    private SelectItem[] choix = { new SelectItem("True"), new SelectItem("False"), };

    public SelectItem[] getChoix() {
    return choix;
    }

    public void setChoix(SelectItem[] choix) {
    this.choix = choix;
    }

    et dans la page met cela:

    <h:selectOneMenu value="#{BeanClient.client.etat}"
    <f:selectItems value="#{BeanClient.choix}" />
    </h:selectOneMenu>
    ca devait marcher

  9. #29
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 79
    Par défaut
    Bonjour Daxou45,

    Si "cbInterditRadio" est de type SelectItem, alors il y a un soucis à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <f:selectItem itemValue="#{paiementData.cbInterditRadio}"
    	itemLabel="#{paie.LIB_PAIE_CARTE}"/>
    Il faudrait plutôt mettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItem value="#{paiementData.cbInterditRadio}"/>

    En effet :
    - Soit tu utilises un objet de type SelectItem que tu as alimenté au préalable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItem value="#{monBean.monSelectItem}" />
    ou une collection d'objets de type SelectItem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItems value="#{monBean.listeSelectItems}" />
    - Soit tu n'utilises pas d'objet de type SelectItem :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItem itemValue="valeur" itemLabel="libelle" />
    => "valeur" et "libelle" peuvent être des valeurs statiques, ou une référence à un bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:selectItem itemValue="#{monBean.valeur}" itemLabel="#{monBean.libelle}" />

Discussions similaires

  1. Problème Locate avec espaces
    Par Clezio dans le forum Bases de données
    Réponses: 2
    Dernier message: 10/03/2004, 19h06
  2. Problème mémoire avec une dll par chargement dynamique
    Par widze19 dans le forum C++Builder
    Réponses: 6
    Dernier message: 15/12/2003, 13h20
  3. problèmes bizarres avec jdbc
    Par jaimepasteevy dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 12/12/2003, 12h00
  4. Problème requête avec UNION et ORDER BY
    Par Yann21 dans le forum Langage SQL
    Réponses: 12
    Dernier message: 12/12/2003, 11h02
  5. problème JSP avec JBuilder et Weblogic 7
    Par viny dans le forum JBuilder
    Réponses: 2
    Dernier message: 24/04/2003, 08h07

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