bonjour,
Je ne comprend pas pourquoi je n'arrive pas à initialiser la propriété utilisateur de mon managed-bean AnnonceControleur à la valeur utilisateur d'un autre managed-bean compteControleur.
voici les managed bean définis dans faces-config.xml
voici la partie de ma page NouvelleAnnonce.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 <!--Managed bean--> <managed-bean> <managed-bean-name>compte</managed-bean-name> <managed-bean-class>com.ptitesannonces.controleur.CompteControleur</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> <managed-bean> <managed-bean-name>annonce</managed-bean-name> <managed-bean-class>com.ptitesannonces.controleur.AnnonceControleur</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>utilisateur</property-name> <value>#{compte.utilisateur}</value> </managed-property> <managed-property> <property-name>motCle</property-name> <value>aaa</value> </managed-property> </managed-bean>
mais lorsque je l'execute j'ai bien #{compte.utilisateur} qui contient une valeur alors que #{annonce.utilisateur} est à null.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <h:panelGrid columns="2"> <h:outputText value="titre"/> <h:inputText id="titre" value="#{annonce.annonce.titreAnnonce}" title="titre"/> <h:outputText value="caracteristique"/> <h:inputText value="#{annonce.annonce.caracteristiqueAnnonce}"/> <h:outputText value="#{annonce.utilisateur}"/> <h:outputText value="#{compte.utilisateur}"/> <h:outputText value="#{annonce.motCle}"/> <h:outputText value="Montant"/> <h:inputText value="#{annonce.annonce.prixDeVente}"/> </h:panelGrid>
Et j'ai vérifié avec #{annonce.motCle} me donne lui le texte "aaa", définit dans faces-config.
Donc l'initialisation via faces-config est faites. Mais pourquoi je n'obtient les 2 même valeurs d'utilisateur?
Aurais-je oublié de déclarer quelquechose dans mon controleur "AnnonceControleur"? Ou cela aurait-il quelquechose à voir avec les méthodes equals, hashcode de mes entités?
voici la déclaration des attributs de AnnonceControleur:
Merci de votre aide.
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 public class AnnonceControleur extends Controleur { @EJB private AnnoncesLocal annoncesBean; private final String cname = this.getClass().getName(); private String motCle; private Categorie categorie; private Produit produit; private Annonce annonce; private ReponseAnnonce reponseAnnonce; private List<Produit> listeProduits; private List<Categorie> listeCategories; private List<Annonce> listeAnnonces; private List<ReponseAnnonce> listeReponses; //La propriété utilisateur est initialisée à l'aide du fichier Faces-config.xml private Utilisateur utilisateur; // ====================================== // = Methodes publiques = // ====================================== @PostConstruct public String chercherListeCategories(){
@+
Partager