Bonjour,
j'essaye de remplir une table SESSIONMESSAGE contenant un id, un expediteur, un destinataire, une annonce et un message. Pour l'instant, je ne m'occupe pas du message. J'aimerais choisir les champs expediteur, destinataire et annonce dans des "selectOnemenu". Voici donc la page xhtml le faisant:
avec le beanListeAnnonces qui sert a renvoyer une liste de toutes les annonces dans la base de données pour pouvoir les afficher dans le "selectItems"
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 <h:form> <h:selectOneMenu value="#{beanSessionMessage.sessionMessage.destinataire}"> <h:outputLabel>Destinataire: </h:outputLabel> <f:selectItems value="#{beanListerUtilisateur.listeUtil}" var="item" itemLabel="#{item.pseudo}" itemValue="#{item}" /> </h:selectOneMenu> <h:selectOneMenu value="#{beanSessionMessage.sessionMessage.expediteur}"> <h:outputLabel>Expediteur: </h:outputLabel> <f:selectItems value="#{beanListerUtilisateur.listeUtil}" var="item" itemLabel="#{item.pseudo}" itemValue="#{item}" /> </h:selectOneMenu><br/> <h:selectOneMenu value="#{beanSessionMessage.sessionMessage.referenceAnnonce}"> <h:outputLabel>Annonce Concernee: </h:outputLabel> <f:selectItems value="#{beanListerAnnonces.listeAnnonces}" var="item" itemLabel="#{item.titre}" itemValue="#{item}" /> </h:selectOneMenu><br/> <h:commandButton value="valider" action="index" actionListener="#{beanSessionMessage.initialisation}"/> </h:form>
et la classe listeUtil s'occupant de faire la requette en base de donnée.
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 @RequestScoped @ManagedBean public class BeanListerUtilisateur { private List<Utilisateur> listeUtil; @EJB private listeUtil listerUtilisateur; public List<Utilisateur> getListeUtil(){ listeUtil=listerUtilisateur.lister(); return listeUtil; } }
Mon problème est que la page "index" n'est pas chargée, la même page l'est lors de la validation et aucune entrée n'est ajoutée dans la table SESSIONMESSAGE . Pourtant, si je commente les lignes de la forme <f:selectItems value="#{...}" var="item" itemLabel="#{item....}" itemValue="#{item}" /> dans mon code, des entrées sont ajoutées dans ma BDD, mais sans véritable intéret, et la bonne page est chargée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Stateless public class listeUtil { @PersistenceContext(unitName = "basePersistence") private EntityManager em; public List<Utilisateur> lister(){ Query query = em.createQuery("select u from Utilisateur u"); List<Utilisateur> listeUtilisateurs=(List<Utilisateur>) query.getResultList(); return listeUtilisateurs; } }
De plus, aucun message d'erreur ne s'affiche.
Pourriez-vous me dire d'ou vient le problème?
Partager