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

JPA Java Discussion :

Table ne se rempli pas, pas de message d'erreur


Sujet :

JPA Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 27
    Points : 30
    Points
    30
    Par défaut Table ne se rempli pas, pas de message d'erreur
    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:
    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>
    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
     
    @RequestScoped
    @ManagedBean
    public class BeanListerUtilisateur {
     
    	private List<Utilisateur> listeUtil;
     
    	@EJB
    	private listeUtil listerUtilisateur;
     
    	public List<Utilisateur> getListeUtil(){
    		listeUtil=listerUtilisateur.lister();
    		return listeUtil;
    	}
    }
    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
     
    @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;
    	}
    }
    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.

    De plus, aucun message d'erreur ne s'affiche.

    Pourriez-vous me dire d'ou vient le problème?

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    As tu essayé d'utiliser un converter ?

  3. #3
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Effectivement, il faut un converter pour traiter ta liste de sélection.
    Il faut bien comprendre que du côté html (navigateur), il y a un code alpha associé à ta <select> mais côté application, tu gères un objet de type Utilisateur. Il faut bien que tu puisses le lui redonner à partir de son code (clé unique).

    Dans ton code, tu as mis
    Du coup, il me semble que c'est la méthode toString() de ton objet Utilisateur qui va être utilisée pour la clé... par forcément judicieux... du devrais mettre la clé unique, genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    itemValue="#{item.uid}"
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2009
    Messages : 27
    Points : 30
    Points
    30
    Par défaut
    Merci pour vos réponses.

    Je n'ai pas eu besoin d'utiliser de converter, je récuper l'id, comme OButterlin l'a proposé, sous forme de String, puis pour récupérer la référence de l'objet, je fais un select en base de donnée.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    ça dois marché oui, mais ce n'est pas l'une des bonnes pratiques pour un développeur qui cherche l'optimisation de son code.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/04/2008, 16h29
  2. Ne pas afficher un Message d'erreur
    Par titeZ dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/08/2007, 13h39
  3. [SQLK][Trigger DDL]Ne pas montrer de message d'erreur
    Par elsuket dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 10/08/2007, 07h53
  4. [MySQL] je n'arrive pas à interpréter le message d'erreur de MySQL ?
    Par jojojojo57 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 29/05/2007, 19h14
  5. j'arrive pas à comprendre ce Message d'erreur
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/12/2006, 10h00

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