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 :

Erreur de conversion lors de la définition de la valeur JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 32
    Par défaut Erreur de conversion lors de la définition de la valeur JSF
    Bonsoir,

    Comme dit dans le titre, lorsque je clique sur le bouton enregistrer de mon formulaire de mon application J2EE (JBOSS,JSF,MySQL,JPA), j'ai l'erreur suivante : Erreur de conversion lors de la définition de la valeur "automobile" pour "null Converter"

    Je n'avais pas cette erreur avant : lorsque je cliquais sur enregistrer, les données été insérées correctement dan ma base de données. Sauf que je n'utilisais qu'une seule table : et maintenant j'en ai 2 qui sont reliées avec un lien OneToOne.

    Exemple :
    1ère table = Domaine_dactivite(titleDA qui est l'id)
    titleDA a actuellement 3 données : automobile, medical, telephonie

    2ème table = Reference : (idReference,...,titleDA qui est la clef étrangère)

    J'ai donc fait mon mapping OneToOne dans mon entité Reference avec les annotations JPA :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @OneToOne(fetch=FetchType.EAGER)
    @JoinColumn(name="titleDA",nullable=false)
    private Domaine_dactivite titleDA;
    titleDA est donc maintenant un Object de type Domaine_dactivite.

    Dans ma page JSF, j'affiche dans un selectOneMenu les données de la table Domaine_dactivite (automobile, medical, telephonie) : l'utilisateur en choisi 1, rentre d'autres valeurs et clique sur enregistrer.

    J'ai donc cette erreur de conversion : j'ai cherché sur google et j'ai trouvé pas mal de messages sur la classe Converter. Est-ce que mon erreur vient de là? si oui, quelqu'un peut-il m'expliquer la méthode à suivre pour pouvoir enregistrer correctement mes données dans ma DB?

    Merci!

  2. #2
    Membre Expert
    Avatar de olivier.pitton
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2012
    Messages
    355
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 355
    Par défaut
    Plop,

    Je pense que tu dois définir un converter personnalisé pour ton objet.

    Je t'invite à lire la FAQ ici.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2012
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 32
    Par défaut
    Ok pour un converter personnalisé :

    pour getAsString, ca fonctionne, j'arrive à faire marcher ma méthode.

    Mais pour l'inverse, getAsObject, je ne vois pas vraiment ce que je dois écrire à l'intérieur...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Override
    public Object getAsObject(FacesContext context, UIComponent, String value) {
    return // un object
    }
    Mon converter doit convertir un String (récupéré à partir du selectOneMenu) en object pour pouvoir l'insérer dans ma base de données...

    Une idée?
    Merci.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2009
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Octobre 2009
    Messages : 153
    Par défaut
    la méthode getAsObject(... String str) est justement là pour faire ce que tu désire.
    Mon converter doit convertir un String (récupéré à partir du selectOneMenu) en object
    .
    le moyen le plus simple est de faire comme ça;
    si ton objet est une instance de MaClasse, tu peut faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @Override
    public Object getAsObject(FacesContext context, UIComponent, String value) {
    //.......traitements sur value         
    MaClasse obj= new MaClasse(value);
     
    return obj;
    }
    et n'oublie surtout pas d'ajouter dans ton jsf l'attribut converter sur ton selectOneMenu
    ciao.

Discussions similaires

  1. Erreur de syntaxe lors de la conversion d'une valeur datetime
    Par info3licen dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 28/05/2011, 01h31
  2. Erreur lors de la définition d'un "enregistrer sous"
    Par piflechien73 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/10/2010, 14h48
  3. [Toutes versions] ERREUR lors de la définition un objet Range
    Par nianko dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/06/2009, 10h48
  4. [Free Pascal] Erreur exitcode 217 lors de la conversion d'une image en tableau
    Par _Hope_ dans le forum Free Pascal
    Réponses: 7
    Dernier message: 18/05/2009, 20h54
  5. erreur "ORA-22905" lors de l'execution d'un requet
    Par benji999 dans le forum Administration
    Réponses: 26
    Dernier message: 14/04/2004, 11h47

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