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 :

[JSF] Erreur "bean of type null"


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut [JSF] Erreur "bean of type null"
    Bonjour,

    Je viens d'arriver au bout du tutoriel de Olivier Schmitt : http://schmitt.developpez.com/tutori.../introduction/
    et j'ai l'erreur suivante à l'affichage de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    javax.servlet.ServletException: javax.servlet.jsp.JspException: Error setting property 'dataTable' in bean of type null
    On dirait qu'un bean n'a pas été instancié, pourtant je pense avoir correctement configuré le faces-config.xml, je vous le montre ainsi que la JSP :

    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
    <faces-config>
         <managed-bean>
            <managed-bean-name>BankListController</managed-bean-name>
            <managed-bean-class>com.seb.mvc.BankListController</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
        <managed-bean>
            <managed-bean-name>AccountDatas</managed-bean-name>
            <managed-bean-class>com.seb.bean.AccountDatas</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
        <managed-bean>
            <managed-bean-name>Customer</managed-bean-name>
            <managed-bean-class>com.seb.bean.Customer</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
        <managed-bean>
            <managed-bean-name>Bank</managed-bean-name>
            <managed-bean-class>com.seb.bean.Bank</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
    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
    <core:view>
        <html:form>
     
            <html:dataTable binding="#{BankListController.view.dataTable}" value="#{BankListController.model.datas.customers}" var="customer" border="1">
     
                <html:column>
                    <html:selectBooleanCheckbox binding="#{BankListController.view.checkbox}"/>
                </html:column>
     
                <html:column>
                    <core:facet name="header">
                        <core:verbatim>Nom</core:verbatim>
                    </core:facet>
                    <html:outputText value="#{customer.name}"/>
                </html:column>
     
                <html:column>
                    <core:facet name="header">
                        <core:verbatim>Prénom</core:verbatim>
                    </core:facet>
                    <html:outputText value="#{customer.forname}"/>
                </html:column>
     
            </html:dataTable>
     
            <br>
            <html:commandButton value="Supprimer les clients"
            action="#{BankListController.removeSelectedCustomers}"/>
            <html:commandButton value="Ajouter un client"
            action="#{BankListController.addCustomer}"/>
        </html:form>
    </core:view>
    merci d'avance

  2. #2
    raj
    raj est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Par défaut
    Est-ce que tu initialise bien ta vue dans le constructeur de
    BankListController ?

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 511
    Par défaut
    et as tu bien un setDatatable dans ta classe View ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Est-ce que tu initialise bien ta vue dans le constructeur de
    BankListController ?
    Voici le constructeur de BankListController :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public BankListController() {
            this.model = new SimpleModel();
            this.view = new ListView();
            this.model.setDatas(new Bank());
        }
    et as tu bien un setDatatable dans ta classe View ?
    et voici le code de la classe qui implémente View :

    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
    public class ListView implements View {
        private UIData dataTable;
        private UISelectBoolean checkbox;
     
        public ListView() {
        }
     
        public UIData getDataTable(){
            return this.dataTable;
        }
     
        public void setDataTable(UIData dataTable){
            this.dataTable = dataTable;
        }
    ...
    Par contre, dans l'interface View, je n'ai pas la méthode setDataTable(), vous pensez que ca viens de là?

    je suis désolé mais je débute et je n'ai pas encore bien compris le liens entre les couches, les classes, les interfaces...

  5. #5
    raj
    raj est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Par défaut
    Essaie de rajouter la méthode dans l'interface Vue , par contre
    il n'est pas obligé de passer par des vues et des controlleurs ,
    Personellement je le déconseille, je suis en train d'apprendre à utiliser
    JSF et pour commencer j'ai refait le tutoriel tout seul sans passer par
    des vues et des controlleurs et t'en apprends plus sur JSF .

    Tu peux déclarer les paramètres UIData et UISelectBoolean directement
    dans la classe BankListController ( D'ailleurs pour commencer je n'ai
    coder que 2 classes , une classe contenant le bean et une autre encapsulant
    une liste ) .

    Après avoir compris qu'est-ce JSF exige , tu pourras t'amuser à structurer
    davantage ( pattern DAO , ....)

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 746
    Par défaut
    Ca me rassure ce que tu dis, parce que j'ai une appli de 10 écrans à faire, et je trouvais que ca allait faire beaucoup toutes ces interfaces etc...

    après manger j'essaye de faire comme toi, merci du conseil !

Discussions similaires

  1. Error testing property 'nom' in bean of type null
    Par khaoula_14_05 dans le forum JSF
    Réponses: 4
    Dernier message: 31/03/2008, 14h37
  2. error setting property in bean of type null
    Par ouedmouss dans le forum JSF
    Réponses: 8
    Dernier message: 23/01/2007, 12h52
  3. UPDATE en ajoutant un 0 sur un champ de type "char"
    Par doum2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/03/2006, 14h22
  4. Erreur de conversion de type Null en String
    Par navis84 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/07/2005, 15h25

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