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 :

Utilisation des converters


Sujet :

JSF Java

  1. #41
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    j'ai donc fait comme sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    				<h:selectOneMenu value="#{editApp.libelleSelectionne}">
    	 				<f:selectItems value="#{editApp.listDF}" itemLabel="#{df.lib_df}" var="df"/>
    	 			</h:selectOneMenu> <br/>
    Et vla l'erreur :


    j_idt11:j_idt33: Erreur de validation: Valeur not valid.

  2. #42
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Le code que j'ai mis est un affichage d'une liste de libellé, et la valeur sélectionnée sera également un libellé à renvoyer.C'est un test.

  3. #43
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    ok, donc je re-test mais avec la liste des libellés sous forme de String

  4. #44
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    donc en mettant sa

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    				<h:selectOneMenu value="#{editApp.libelleSelectionne}">
    	 				<f:selectItems value="#{editApp.listDF}" itemLabel="#{df.lib_df}" var="df"/>
    	 			</h:selectOneMenu> <br/>
    j'ai enlevé itemlabel et var, sa mettait des erreurs EL


    voila ce que dit ma console lorsque je change le DF et que je valide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Hibernate: select applicatio0_.code_ap as code1_11_, applicatio0_.FKcode_df_code_df as FKcode8_11_, applicatio0_.acces_ap as acces2_11_, applicatio0_.comm_ap as comm3_11_, applicatio0_.des_ap as des4_11_, applicatio0_.lib_ap as lib5_11_, applicatio0_.portee_ap as portee6_11_, applicatio0_.siteDiffu_ap as siteDiffu7_11_ from Application applicatio0_ where applicatio0_.code_ap=?
    Hibernate: select domainefon0_.code_df as code1_2_0_, domainefon0_.dateDeb_df as dateDeb2_2_0_, domainefon0_.dateFin_df as dateFin3_2_0_, domainefon0_.lib_df as lib4_2_0_ from DomaineFonctionnel domainefon0_ where domainefon0_.code_df=?
    Hibernate: select domainefon0_.lib_df as col_0_0_ from DomaineFonctionnel domainefon0_
    Hibernate: select domainefon0_.lib_df as col_0_0_ from DomaineFonctionnel domainefon0_
    libelle==Gestion RH 2nd degré
    Hibernate: select domainefon0_.lib_df as col_0_0_ from DomaineFonctionnel domainefon0_
    La partie rouge correspond bien à ce que j'ai selectionné

  5. #45
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Et donc ton souci était bien ce que je pensais. Il s'agissait d'un transfert d'objet à ta vue controller. Donc si tu comprends ce que tu fais et tout ce qui a été testé début le début tu devrais t'en sortir non? Puisque le libelle choisi est bien transféré maintenant.Avec ce libellé tu récupères l'objet DomaineFonctionnel correspondant, que tu passeras à ton objet application en cours de création. Tu as tout ce qui te faut.

  6. #46
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Ok, je vais chercher, fouiller trifouiller, coder et y arriver !!



    Mdr, en tout cas énorme merci quoi

    Je t’envoie le code (qui fonctionnera je l'espère ^_^) dès que sa tourne !




  7. #47
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Et voila le code final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    				try 
    				{
    					System.out.println("libelle=="+this.getLibelleSelectionne());			
    					//récupère le DF choisit par le client
    					DomaineFonctionnel domaineChoisi = getDF(libelleSelectionne);
    					//Tu positionnes le domaine recuperé dans l'application à Créer
    					Application.setFKcode_df(domaineChoisi);
    					ap.saveAppli(Application);
    					ap.flush();
    				}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu value="#{editApp.libelleSelectionne}">
    	 				<f:selectItems value="#{editApp.libDF}" />
    	 			</h:selectOneMenu> <br/>










    Merci DevServlet, you are the king

  8. #48
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bon ben sans vouloir casser l'ambiance, maintenant que ça marche il faut l'optimiser . Comme je t'ai dit au départ, suppose qu'entre la selection des libellés pour affichage et le moment où tu vas vouloir aller en base chercher le domaine rattaché à ce libellé, un autre utilisateur parallèlement modifie ton libellé, eh ben dans ce cas la requete te rapatriant le domaine en fonction du libellé ne te retournerait rien, ce qui est anormal tu conviendras avec moi. Ce qu'il faut faire, t'as 2 options possibles :
    1-Soit tu ne fais aucune requête en base et t'appuies plutot sur la collection de domaines que tu as déjà à ta dispo en mémoire, puisque c'est celle qui t'a servi à charger la vue xhtml, donc tu t'appuies dessus et effectue une boucle de parcours de ces domaines en recherchant celui correspondant à ton libellé choisi.
    2-Soit à la place du libellé qu'on a choisi actuellement comme valeur à renvoyer après selectionnée, tu mettes plutot la clé primaire du domaine Fonctionnel selectionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:selectOneMenu value="#{editApp.libelleSelectionne}">
    	 				<f:selectItems value="#{editApp.idDomaineSelectionne}" />
    	 			</h:selectOneMenu> <br/>
    où idDomaineSelectionne serait un private déclaré dans ton controller tout comme libelleSelectionne. Et donc dans ta méthode save :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DomaineFonctionnel monDomaineSelectionne = ap.findById(getIdomaineSelectionne());
    ...
    Mais bon si tu penses que ces libellés sont fixes et ne changeront jamais tu laisses tout tomber, mais tu y penses pour la prochaine fois.
    bonne suite

  9. #49
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    yep, je m'y attelle dès cet après midi ^_^

    L'appli va surement être utilisé par une seule personne qui dirige tout le service de la DSI, donc les données ne seront surement pas modifiées simultanément, néanmoins, il est sur qu'il faut prévoir tout les cas de figures !

    EDIT : Ta méthode de passer par l'id ne me semble pas bien plus compliqué, je la mettrais surement en place cet après midi après avoir terminer de mettre en place toutes mes pages et leur SelectOneMenu ce qui risque de me prendre 1h30-2h facile !

  10. #50
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Je viens de remarquer une chose, si sa peut débloquer certains personnes.

    Notre variable déclarée dans le bean, libSelectionne en l'occurence.


    Si vous ne déclarez pas le getter Et le setter, sa plante !

    Même si vous ne vous servez pas du setter !

    Pourquoi, je ne sais pas, mais c'est comme sa ^_^

  11. #51
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par Phossoyeur Voir le message
    Je viens de remarquer une chose, si sa peut débloquer certains personnes.

    Notre variable déclarée dans le bean, libSelectionne en l'occurence.


    Si vous ne déclarez pas le getter Et le setter, sa plante !

    Même si vous ne vous servez pas du setter !

    Pourquoi, je ne sais pas, mais c'est comme sa ^_^
    Eh ben c'est normal, voila pourquoi il ne faut pas souvent se lancer dans du code repris sans comprendre ce qu'on fait . En fait la plupart des Framework style MVC2 comme ce que tu utilises actuellement fonctionnent tous ainsi. Ton framework accède tes propriétés du managedBean par un mécanisme appelé de l'introspection. Pour toute variable que tu vas mettre dans ta vue, lui pour acceder à ses variables il va chercher avec le nom de l'accesseur correspondant sa valeur et inversement pour la modifier.C'est pour ça d'ailleurs qu'il est vivement conseillé de laisser Eclipse lui même générer tous tes accesseurs.

  12. #52
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Oooook, c'est toujours bon à savoir

    Merci !

  13. #53
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2011
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 98
    Par défaut
    Petite question DevServlet ^^


    Je n'arrive pas à trouver comment transformer la date retournée par un user correctement dans la base.

    Je trouve beaucoup comment afficher une date de la manière que l'on veut , mais pas l'inverse ...

    Donc en gros, je me retrouve avec sa de partout ou j'ai un type date
    Erreur de conversion lors de la définition de la valeur '' pour 'null Converter'.

    Le '' correspond au champ date que je n'ai pas renseigné.

    Une petit idée ou un tuto qui traine ^^ ?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.
Page 3 sur 3 PremièrePremière 123

Discussions similaires

  1. Règles d'utilisation des forums C
    Par Franck.H dans le forum C
    Réponses: 3
    Dernier message: 26/01/2008, 17h35
  2. [CR8.5] Utilisation des codes barre
    Par Robert dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/01/2005, 16h13
  3. utilisation des sockets sous windows
    Par Tupac dans le forum Réseau
    Réponses: 2
    Dernier message: 21/12/2002, 18h24
  4. [Crystal Report] Utilisation des vues de sql serveur
    Par Olivierakadev dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 15/11/2002, 17h44
  5. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01

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