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 managed property probleme


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 52
    Par défaut JSF managed property probleme
    Bonjour,

    Je crée une appli web avec le Visual Web Pack donc avec JSF mais aussi avec le Framework Spring et Hibernate.

    J'ai un BeanProduit auquel j'ajoute une proprieté BeanLocaliseurService qui me retourne les services disponible pour un produit. Donc en gros dans ma classe BeanProduit j'ai un attribut de type BeanLocalisuerService (ou plutot du type de l'interface qu'implemente mon bean) et je veux que cet attribut soit initialisé automatiquement.

    Donc j'ai ca dans mon managed-bean.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
        <managed-bean>
            <managed-bean-name>BeanProduit</managed-bean-name>
            <managed-bean-class>minimarket.BeanProduit</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
            <managed-property>
                <property-name>localiseurService</property-name>
                <property-class>minimarket.BeanLocaliserService</property-class>
                <value>#{beanLocaliserService}</value>
            </managed-property>
        </managed-bean>
     
        <managed-bean>
            <managed-bean-name>beanLocaliserService</managed-bean-name>
            <managed-bean-class>minimarket.BeanLocaliserService</managed-bean-class>
            <managed-bean-scope>application</managed-bean-scope>
        </managed-bean>
    Donc mon BeanProduit est bien initialisé au demarrage, apel au contructeur et tout. Par contre mon BeanLocaliserService n'est pas initalisé, jamais le constructeur de cette classe n'est apellé et dans BeanProduit le setLocaliseurService est bien apellé mais avec une valeur null :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        public void setLocaliseurService(ILocaliserService localiseurService) {
            this.localiseurService = localiseurService;
            System.out.print("ServiceLcaliseur initialisé = "+this.localiseurService);
            this.init();
        }
    Le System.out ecrit que localiseurService = null :/

    Qu'est ce que j'ai fais de mal je ne comprend pas du tout le principe. Si quelqu'un a une solution ca m'aiderai bcp !!
    Merci

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    ton service porte le nom de {beanLocaliserService} donc ta property dans ton managed bean devra porter le nom de beanLocaliserService (et les accesseurs dessus)

    ou alors change le scope en session

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 52
    Par défaut
    Ca change quoi de le passer en session ?

    Sinon je ne comprend pas, je croyais que le property-name etait justement le nom de l'attribut dans mon bean Produit.
    Moi j'ai ca dans mon bean Produit :
    private ILocaliserService localiseurService;

    Donc dans property-name j'ai mis localiseurService
    En classe j'ai mis le chemin de la classe BeanLocaliserName qui implemente l'interface ILocaliserService.
    Et en value c'est ce que je comprend moins, j'ai essayé diverses choses comme le nom de la classe BeanLocaliserName ou alors le nom de la propriete-name quand je declare mon BeanLocaliserService dans mon managed-bean.xml
    Faut mettre quoi alors, localiseurService c ca ?

    Merci !!

    Edit :
    Nan desolé j'y arrive pas, quelque soit les combinaisons que je fait soit ca me renvoi null soit j'ai cette erreur en ouvrant la page "The server encountered an internal error () that prevented it from fulfilling this request." :/

    Si je comprend bien, le nom de la propriété est le meme que le nom de mon attribut dans ma classe et la value est la meme que le nom du bean que j'utilise dans sa declaration dans managed-bean.xml Mais ca ne fonctionne pas

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 52
    Par défaut
    Personne pour m'aider, je n'y arrive tjs pas

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 24
    Par défaut
    salut
    lors de chargement du faces-config il execute ligne par ligne alors si jété a ta place j'essairé ca :

    <managed-bean>
    <managed-bean-name>beanLocaliserService</managed-bean-name>
    <managed-bean-class>minimarket.BeanLocaliserService</managed-bean-class>
    <managed-bean-scope>application</managed-bean-scope>
    </managed-bean>

    <managed-bean>
    <managed-bean-name>BeanProduit</managed-bean-name>
    <managed-bean-class>minimarket.BeanProduit</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <managed-property>
    <property-name>localiseurService</property-name>
    <property-class>minimarket.BeanLocaliserService</property-class>
    <value>#{beanLocaliserService}</value>
    </managed-property>
    </managed-bean>

    je ne suis pas sur que ca marche
    bon courrage

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2003
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 52
    Par défaut
    Ca ne marche tjs pas, avec le code exact que tu met il me met "The servcer encoutered an internat error() that prevented it from fullfilling the request"

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

Discussions similaires

  1. [JSF 1.2] Probleme avec le composant DataTable!
    Par baradoss dans le forum JSF
    Réponses: 10
    Dernier message: 08/06/2008, 21h08
  2. [Framework] [CLASSPATH][PROPERTIES] probleme declaration classpath
    Par grelon dans le forum Spring
    Réponses: 17
    Dernier message: 16/11/2007, 17h28
  3. [JSF] : fichier .properties
    Par lecitoyen dans le forum JSF
    Réponses: 2
    Dernier message: 20/06/2007, 08h12
  4. [AJAX] manager AJAX probleme de porté de variable
    Par ele51 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 14/03/2007, 16h47
  5. properties problem execution
    Par lazzeroni dans le forum iReport
    Réponses: 2
    Dernier message: 17/08/2006, 09h08

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