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 :

[PrimeFaces] Problème de conversion sur une page utilisant des inputText


Sujet :

JSF Java

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 63
    Points : 50
    Points
    50
    Par défaut [PrimeFaces] Problème de conversion sur une page utilisant des inputText
    Bonjour,

    j'ai réalisé un site avec Primefaces avec une page affichant une liste de voitures. Lorsque je clique sur l'un des voitures au choix, j'arrive sur une page affichant toutes les informations de cette voiture.

    cette page affiche des informations d'une voiture à travers un <p:inputText. Elle dispose également d'un bouton "sauvegarder".

    Je souhaite en effet que l'utilisateur puisse les modifier. L'objet Car possède plusieurs attributs String et des attributs d'autres types.

    Voici un exemple:
    <p:inputText value="#{carView.selectedCar.Id}"/>

    Le problème est que lorsque j'appuie sur sauvegarder j'ai le message suivant:
    Cannot convert... of type class java.lang.String to class java.util.UUID] with root cause
    javax.el.ELException: Cannot convert ...of type class java.lang.String to class java.util.UUID
    rr
    Auriez vous une explication? Après plusieurs heures de recherche, je me demandais s'il fallait que j'utilise et développe un converter v?

  2. #2
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juillet 2013
    Messages
    269
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 269
    Points : 434
    Points
    434
    Par défaut
    Bonjour,
    il semblerait que le champs Id de ta classe Voiture ne soit pas de type String.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 63
    Points : 50
    Points
    50
    Par défaut
    Bonjour effectivement, la classe voiture contient un attribut id qui n'est pas de type string, il est de type UUID.
    C'est une contrainte que je n'ai pas la possibilité de changer.

  4. #4
    Membre expérimenté Avatar de Cincinnatus
    Homme Profil pro
    Développeur d'applications métier
    Inscrit en
    Mars 2007
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur d'applications métier
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 592
    Points : 1 679
    Points
    1 679
    Par défaut
    Bonjour,

    Oui, dans le cas où JSF ou Primefaces ne peut convertir de lui-même, il faut employer un Converter.

    Quelque chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    @FacesConverter("uuidConverter")
    public class UUIDConverter implements Converter {
     
     
        public UUIDConverter() {
        }
     
     
        @Override
        public Object getAsObject(FacesContext context, UIComponent component, String obj) {
            if (obj == null)
                return null;
     
     
            return UUID.fromString( obj );
        }
     
     
        @Override
        public String getAsString(FacesContext context, UIComponent component, Object obj) {
            if ((obj == null) || (!( obj instanceof UUID)))
                return null;
     
            return ((UUID)obj).toString();
        }
     
     
    }

Discussions similaires

  1. Problème integration applet sur une Page JSF
    Par babouba dans le forum Applets
    Réponses: 0
    Dernier message: 29/03/2012, 12h18
  2. Problème de conversion sur une partition.
    Par ifebo dans le forum Windows XP
    Réponses: 5
    Dernier message: 26/07/2011, 22h58
  3. Problème de grant sur une vue utilisant un db_link
    Par squallJ dans le forum Administration
    Réponses: 2
    Dernier message: 04/09/2007, 11h33
  4. Problème de décalage sur une page
    Par baleiney dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 26/05/2006, 17h54
  5. Problème de chaine sur une page HTML
    Par Kerod dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 23/11/2004, 16h23

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