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 :

[JSF1.2] Impossible d'instancier la classe


Sujet :

JSF Java

  1. #1
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Points : 412
    Points
    412
    Par défaut [JSF1.2] Impossible d'instancier la classe
    Bonjour, j'utilise hibernate jboss tools. Voila ce que j'obtien:

    javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Impossible d'instancier la classe

    Membre.hbm.xml
    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
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <!-- Generated 15 f??vr. 2013 14:34:13 by Hibernate Tools 3.4.0.CR1 -->
    <hibernate-mapping>
        <class name="database.Membre" table="membre" catalog="lingerie_fine">
            <id name="id" type="java.lang.Integer">
                <column name="id" />
                <generator class="identity" />
            </id>
            <property name="nom" type="string">
                <column name="nom" length="25" />
            </property>
            <property name="prenom" type="string">
                <column name="prenom" length="25" />
            </property>
            <property name="speudo" type="string">
                <column name="speudo" length="25" />
            </property>
            <property name="email" type="string">
                <column name="email" length="25" />
            </property>
            <property name="sex" type="string">
                <column name="sex" length="25" />
            </property>
            <property name="naissance" type="string">
                <column name="naissance" length="20" />
            </property>
            <property name="datenaissance" type="date">
                <column name="datenaissance" length="0" />
            </property>
            <property name="motpasse" type="string">
                <column name="motpasse" length="40" />
            </property>
        </class>
    </hibernate-mapping>
    ]
    hibernate config
    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
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
        <session-factory>
            <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
            <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="hibernate.connection.password">L099339R</property>
            <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/lingerie_fine</property>
            <property name="hibernate.connection.username">root</property>
            <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
            <property name="hibernate.search.autoregister_listeners">false</property>
            <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    		<property name="current_session_context_class">thread</property>
    		<property name="hibernate.show_sql">true</property>
            <mapping resource="data/Membre.hbm.xml" />
        </session-factory>
    </hibernate-configuration>

    Merci pour votre aide. Pourriez vous m'indiquer un tutoriel pour migrer de jsf 1.2 à jsf 2.

    Tres grand merci

  2. #2
    Membre averti Avatar de omarcisses
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2007
    Messages : 227
    Points : 314
    Points
    314
    Par défaut
    Regarde tu as mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <class name="database.Membre" table="membre" catalog="lingerie_fine">
    je pense que c'est plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <class name="Membre" table="membre" catalog="lingerie_fine">
    car je ne sais pas si c'est possible "database.Membre"

  3. #3
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 562
    Points
    562
    Par défaut
    Bonjour,
    <class name="database.Membre" table="membre" catalog="lingerie_fine">
    est possible si la classe Membre est bien dans un package database


    As tu vérifié ?
    • que la classe Membre dispose d'un constructeur sans paramètres (public Membre()...)
    • que chacun des membres a des getters et setters dont la casse est respectée (setNom et getNom pour le membre nom...)


    EDIT :
    A priori, c'est une EvaluationException, quand l'erreur se produit t-elle ? sur l'affichage de quelle page ?
    Il est possible que ce soit une erreur sur une EL #{} utilisée

    !! aux identifiants de connexion en clair dans les fichiers de conf publiés sur le forum...

  4. #4
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Points : 412
    Points
    412
    Par défaut
    En faite c'est une bétise de ma part; j'ai repris une version de sauvegarde ou le managebean n'étais plus correcte. Apres tout changement ca a marcher.
    Parcontre j'ai un souci de convertir un champ String en java.util.Date
    Page index.faces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:form>
    Nom <h:inputText value="#{membre.nom}"></h:inputText>
    Prenom <h:inputText value="#{membre.prenom}"></h:inputText>
    Speudo <h:inputText value="#{membre.speudo}"></h:inputText>
    Email <h:inputText value="#{membre.email}"></h:inputText>
    Date de naissance dd/mm/aa <h:inputText value="12/10/2013"></h:inputText>
    Mot de passe <h:inputSecret value="#{membre.motpasse}"></h:inputSecret>
    <h:selectOneRadio value="#{membre.sex}" >
    <f:selectItem itemLabel="homme"  />
    <f:selectItem itemLabel="femme" />
    </h:selectOneRadio>
    <h:commandButton action="#{membre.EnregistrerMembre}" value="Valider" />
    </h:form>
    Message d'erreure

    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
    41
    42
    43
    tat HTTP 500 -
     
    type Rapport d'exception
     
    message
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value '' of type 'class java.lang.String' to type 'class java.util.Date' for managed bean 'membre'.
    	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
    	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
    	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
    	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
     
    cause mère
     
    javax.servlet.ServletException: javax.servlet.jsp.JspException: javax.faces.el.EvaluationException: javax.faces.FacesException: javax.faces.FacesException: Error performing conversion of value '' of type 'class java.lang.String' to type 'class java.util.Date' for managed bean 'membre'.
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:861)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:794)
    	org.apache.jsp.index_jsp._jspService(index_jsp.java:113)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346)
    	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152)
    	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
    	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:268)
    	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
     
    cause mère
    l'action
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
     
     
    import org.hibernate.Session;
     
     
     
    import database.Membre;
    import database.SessionFactoryUtil;
     
     
     
    public class EnregistrerMembre {
     
    	public  String EnregistrerMembre() {
    	Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    	session.beginTransaction();
     
    	 Membre membre = new Membre();
    	 membre.setNom(membre.getNom());
    	 membre.setPrenom(membre.getPrenom());
         membre.setSpeudo(membre.getSpeudo());
         membre.setEmail(membre.getEmail());
         membre.setNaissance(membre.getNaissance());
     
     
     
         SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    		try {
    		      Date date = format.parse("12/10/2013");
    		      membre.setDatenaissance(date);
    		} catch (java.text.ParseException e) {
    			// TODO Auto-generated catch block
    			System.out.print("************************************************** zut *******************************************");
    		}
         membre.setSex(membre.getSex());
         membre.setMotpasse(membre.getMotpasse());
         session.save(membre);
     
    	 session.getTransaction().commit();
     
    	 return null;
     
    }		
     
    }

    Merci pour votre aide.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ed Nat
    Inscrit en
    Janvier 2013
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ed Nat
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2013
    Messages : 325
    Points : 562
    Points
    562
    Par défaut
    Bonjour,
    Ce n'est pas qu'un problème de conversion de dates, mais aussi une incohérence entre le bean et les EL du formulaire.
    tel que tu l'as mis dans ton formulaire faces, la méthode enregistrerMembre devrait appartenir au Bean Membre

    Et dans ce cas, tu pourras récupérer sur this (le membre) les valeurs renseignées dans le formulaire, ce qui simplifie ton traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public class Membre{
    	... 
    	public  String EnregistrerMembre() {
    		Session session = SessionFactoryUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
     		session.save(this);
     		session.getTransaction().commit();
    		return ...
    }
    Et modifier ton formulaire pour qu'il permette d'affecter à dateNaissance du membre une date correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Date de naissance dd/mm/aa <h:inputText value="#{membre.dateNaissance}">
        <af:convertDateTime pattern="d/M/yyyy"/>
    </h:inputText>

  6. #6
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 666
    Points : 412
    Points
    412
    Par défaut tag erreur
    Merci, mais ca ne marche toujour pas
    Je vous donne les log de la console eclipse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SEVERE: Managedbean membre could not be created Error performing conversion of value '' of type 'class java.lang.String' to type 'class java.util.Date' for managed bean 'membre'.
    javax.faces.FacesException: Error performing conversion of value '' of type 'class java.lang.String' to type 'class java.util.Date' for managed bean 'membre'.
    	at com.sun.faces.config.ManagedBeanFactory.getConvertedValueConsideringPrimitives(ManagedBeanFactory.java:885)
    Merci

  7. #7
    Modérateur

    Avatar de Robin56
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juin 2009
    Messages
    5 297
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juin 2009
    Messages : 5 297
    Points : 13 670
    Points
    13 670
    Par défaut
    Bonjour,

    Le problème original est résolu, la suite d'une autre problématique est disponible ici : Convertir un String en java.util.Date

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

Discussions similaires

  1. [Débutant] Impossible d'instancier une classe depuis .aspx.vb
    Par Jah73 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 08/01/2014, 09h22
  2. Erreur: Impossible d'instancier une classe abstraite
    Par petitnul12 dans le forum C++
    Réponses: 2
    Dernier message: 16/11/2012, 23h39
  3. Erreur impossible d'instancier la classe en JSF
    Par aishaDev dans le forum JSF
    Réponses: 7
    Dernier message: 19/05/2012, 12h52
  4. [DisplayTag] Impossible d'instancier la classe PDF
    Par mithrendil dans le forum Taglibs
    Réponses: 3
    Dernier message: 16/02/2012, 13h35
  5. Réponses: 2
    Dernier message: 06/05/2006, 14h28

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