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

Développement Web en Java Discussion :

Problème avec le conveter


Sujet :

Développement Web en Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 32
    Points : 32
    Points
    32
    Par défaut Problème avec le conveter
    Bonjour ,
    je suis entrain de créer une formulaire qui à comme principale fonction d'ajouter un procès , pour chaque procès je dois indiquer quel contrôleur qui a enregistrer , mais j'ai toujours cette erreur "Erreur de conversion lors de la définition de la valeur «com.agent.Persistence.Controleur@1d66cde» pour «null Converter»". voici mon code
    <td><p:selectOneMenu
    value="#{pvPassagerBean.newpv.controleur}" converter="#{controleurConverter}">
    <f:selectItem itemValue=" " itemLabel=" "></f:selectItem>
    <f:selectItems value="#{pvPassagerBean.conts}" var="cont"
    itemValue="#{cont}" itemLabel="#{cont.pseudo}"></f:selectItems>
    </p:selectOneMenu></td>
    et malgré j'ai déclaré le controleurConverter dans faces-config mais il reste non fonctionelle voici mon code :
    package com.agent.Bean;

    import javax.annotation.ManagedBean;
    import javax.faces.bean.ViewScoped;
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;

    import com.agent.DAO.ControleurDAO;
    import com.agent.Persistence.Controleur;

    @ManagedBean
    @ViewScoped
    public class ControleurConverter implements Converter {

    ControleurDAO cDao;

    @Override
    public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
    return cDao.findContByID(Integer.valueOf(arg2));
    }

    @Override
    public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
    return String.valueOf(((Controleur) arg2).getId());
    }
    }
    quelqu'un peut m'aider SVP

  2. #2
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Australie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 50
    Points
    50
    Par défaut
    as tu essayé sans converter au niveau de la page JSF ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:selectOneMenu value="#{pvPassagerBean.newpv.controleur}" >

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    oui j'ai essayé sans le converter et toujours , la page m'affiche comme ce message "Erreur de conversion lors de la définition de la valeur «com.agent.Persistence.Controleur@1b6fe6b» pour «null Converter».

    Erreur de conversion lors de la définition de la valeur «com.agent.Persistence.Controleur@1b6fe6b» pour «null Converter». "

  4. #4
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 117
    Points
    117
    Par défaut
    au niveau de converter :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
     
    package sungard_web.converter;
     
    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;
    import javax.faces.convert.FacesConverter;
     
    import persistence.ListSwitchs;
    import sungard_web.mbeans.HelperBean;
     
     
     
     
    @FacesConverter("cc")
    public class ListSwitchConverter implements Converter{
     
     
     
    	public Object getAsObject(FacesContext context, UIComponent component, String value) {
    		ListSwitchs equivalentCategory = null;
    		if(!value.trim().equals("")){
    			HelperBean helper = context.getApplication().evaluateExpressionGet(context, "#{helperBean}", HelperBean.class);
    			equivalentCategory = helper.findCategoryByName(value);
    		}
    		return equivalentCategory;
    	}
     
    	public String getAsString(FacesContext context, UIComponent component, Object value) {
    		String equivalentString = null;
    		if(value == null || value.equals("")){
    			equivalentString = "";
    		}else{
    			equivalentString = ((ListSwitchs)value).getIp_address();
    		}
    		return equivalentString;
    	}
     
    }

    créer un classe helperBean par exemple ou se trouve la methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public ListSwitchs findSwitchByIp(String ip) {
    		return catalog.getByIp(ip) ;
    	}


    dans votre page xhtml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    	<h:outputText value="Enter user ip_address_neighbor" />
    							<p:selectOneMenu value="#{neiborsBean.switchs.listswitchs}" converter="cc" >
    								<f:selectItem itemLabel="select one..." itemValue="" />
    								<f:selectItems value="#{neiborsBean.listSwitches}" var="cat" itemValue="#{cat}" itemLabel="#{cat.ip_address}"/>
    							</p:selectOneMenu>



    sachant que dans cette exemple : ListSwitch est un class
    et la methode affiche les adresse Ip dans la liste déroulante

  5. #5
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 117
    Points
    117
    Par défaut deuxième méthode
    si non tu peux faire simplement ça si tu trouve la première méthode est un peut compliqué

    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
     
     
    @FacesConverter("cc")
    public class TeamConverter implements Converter {
     
    	@EJB
    	ControleurDAO cDao;
     
    	@Override
    	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
    		Controleur cont= cDao.getControleurById(arg2);
    		System.out.println("############################### "+ cont.getId());
    		return team;
    	}
     
    	@Override
    	public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
     
     
    		return ""+arg2;
    	}
     
    }
    et la meme chose pour la page xhtml juste tu remplace ListSwitch par ton classe cotroleur

  6. #6
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    monta_amri
    merçi monta pour ton réponse mais j'ai rien compris

    voici le code le code de mon xhtml :
    p:selectOneMenu
    value="#{pvPassagerBean.newpv.controleur}" converter = "#{controleurConverter}">
    <f:selectItem itemValue=" " itemLabel=" "></f:selectItem>
    <f:selectItems value="#{pvPassagerBean.conts}" var="cont"
    itemValue="#{cont}" itemLabel="#{cont.pseudo}"></f:selectItems>
    </p:selectOneMenu></td>

    et dans faces-config j'ai ça :

    <converter>
    <converter-for-class>com.agent.Persistence.Controleur</converter-for-class>
    <converter-class>com.agent.Bean.ControleurConverter</converter-class>
    </converter>

    et ma controleurConverter est celle ci


    package com.agent.Bean;

    import javax.faces.component.UIComponent;
    import javax.faces.context.FacesContext;
    import javax.faces.convert.Converter;
    import javax.faces.convert.FacesConverter;

    import com.agent.DAO.ControleurDAO;
    import com.agent.Persistence.Controleur;

    @FacesConverter("controleurConverter")
    public class ControleurConverter implements Converter{

    ControleurDAO cDao;
    int id;

    @Override
    public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
    return cDao.findContByID(Integer.valueOf(arg2));
    }

    @Override
    public String getAsString(FacesContext arg0, UIComponent arg1, Object arg2) {
    return String.valueOf(((Controleur) arg2).getId());
    }

    @Override
    public boolean equals(Object obj) {
    Controleur cont = (Controleur) obj;
    if(this.id == cont.getId()) {
    return true;
    }else {
    return false;
    }
    }

    }


    tu peut me dire qu'est ce que je dois changer exactement stp

  7. #7
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 117
    Points
    117
    Par défaut
    vérifiez votre boite de réception

  8. #8
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    oui j'ai vu la deuxième méthodes ,
    mais cette erreur est affiché
    java.lang.NumberFormatException: For input string: "com.agent.Persistence.Controleur@1002ea2"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.valueOf(Integer.java:582)

    en faite dans ma liste déroulante j'affiche les pseudos des contrôleurs et non pas leurs IDs

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 117
    Points
    117
    Par défaut
    Citation Envoyé par natalie75 Voir le message
    oui j'ai vu la deuxième méthodes ,
    mais cette erreur est affiché
    java.lang.NumberFormatException: For input string: "com.agent.Persistence.Controleur@1002ea2"
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    at java.lang.Integer.parseInt(Integer.java:492)
    at java.lang.Integer.valueOf(Integer.java:582)

    en faite dans ma liste déroulante j'affiche les pseudos des contrôleurs et non pas leurs IDs


    je ne sais pas si vous avez reçu mon message privé ou non . mais je dois voir ton architecture est la méthode appelé au niveau de converter et meme les type de vos attribut si non cette erreur veut dire que tu dois faire un cast de int to String

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Février 2015
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2015
    Messages : 32
    Points : 32
    Points
    32
    Par défaut
    monta-amri
    j'ai résolu le problème , just j'ai changé itemValue par itemValue="#{cont.id}" et ça marche ,
    merçi beaucoup montassar pour votre aide

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2015
    Messages : 87
    Points : 117
    Points
    117
    Par défaut
    je t'en prie
    bonne courage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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