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

Servlets/JSP Java Discussion :

Instanciation d'une classe dans un CustomTag


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut Instanciation d'une classe dans un CustomTag
    Bonjour,

    Je travaille sur une application web, et je suis sur un développement d'un CustomTag, ce CustomTag admet un attribut "decorator" auquel je donne un nom de classe complet (exemple "org.toto.MaClasse"), et au sein de l'implémentation du CustomTag j'instancie la classe dont le nom est celui spécifié comme decorator à l'aide du code suivant :

    Object decObj = Class.forName(la_classe_spécifiée_comme_decorator).newInstance();


    et là je recois une exception : java.lang.InstantiationException

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Slt,
    Voila ce que dit la doc sur java.lang.InstantiationException

    Thrown when an application tries to create an instance of a class using the newInstance method in class Class, but the specified class object cannot be instantiated because it is an interface or is an abstract class.
    UML avec VIOLET

  3. #3
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    Le problème persiste, est ce que il y a des règles à respecter, notamment au niveau des constrcuteurs ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    509
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 509
    Points : 568
    Points
    568
    Par défaut
    Citation Envoyé par santana2006
    Le problème persiste, est ce que il y a des règles à respecter, notamment au niveau des constrcuteurs ?

    Es tu sur que ta classe est ni une interface ni une classe abstraite ?
    UML avec VIOLET

  5. #5
    Membre éprouvé
    Profil pro
    Développeur Back-End
    Inscrit en
    Avril 2003
    Messages
    782
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Back-End

    Informations forums :
    Inscription : Avril 2003
    Messages : 782
    Points : 935
    Points
    935
    Par défaut
    Citation Envoyé par santana2006

    Object decObj = Class.forName(la_classe_spécifiée_comme_decorator).newInstance();
    si tu utilise la methode newInstance() il faut que ta classe ait un constructeur sans parametres

  6. #6
    Membre régulier
    Inscrit en
    Mars 2006
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 121
    Points : 110
    Points
    110
    Par défaut
    ça marche enfin

    merci beaucoup

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/08/2009, 17h41
  2. Réponses: 10
    Dernier message: 08/04/2009, 20h04
  3. Réponses: 0
    Dernier message: 22/04/2008, 18h44
  4. Réponses: 1
    Dernier message: 10/01/2007, 14h15
  5. Réponses: 5
    Dernier message: 04/10/2006, 15h45

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