Partage
  • Partager sur Facebook
  • Partager sur Twitter

comment récupérer les données à partir de MySql

projet jsf ejb java

    17 août 2017 à 13:54:23

    Bonjour à tous,

    Je déboute le langage java EE et j'ai créé un projet jsf et ejb. Je voudrais récupérer les données d'une table et afficher une liste déroulante à partir de la colonne 'nom' plus précisément colonne 'nomSession' dans cette table, mais ma liste déroulante est vide, je voudrais savoir d'où vient le problème.

    Je vous envoie les codes que j'ai dans différents fichiers :

    Fichier jsf :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml"
    	xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
    	xmlns:h="http://xmlns.jcp.org/jsf/html"
    	xmlns:f="http://xmlns.jcp.org/jsf/core">
    
    <ui:composition template="WEB-INF/modeles/modele.xhtml">
    	<ui:define name="content">
    	    <h2>Liste des promotions</h2>
    			<h:selectOneMenu value="#{essionFormationBean.nomSession}">
    				<f:selectItems value="#{SessionFormationBean.lesSessions}" var="c"
    					itemLabel="#{c.nomSession}" itemValue="#{c.nomSession}" />
    			</h:selectOneMenu>
    	</ui:define>
    </ui:composition>
    </html>
    Fichier Class Bean :
    package resources;
    
    import java.util.List;
    
    import javax.ejb.EJB;
    
    import ejb.EjbSessionFormationLocal;
    import model.SessionFormation;
    
    public class SessionFormationBean {
    
    
    	private List<SessionFormation> lesSessions;
    
    	@EJB
    	EjbSessionFormationLocal ejbSessionFormationLocal;
    	
    	public List<SessionFormation> getLesSessions() {
    		return lesSessions;
    	}
    
    	public void setLesSessions(List<SessionFormation> lesSessions) {
    		this.lesSessions = lesSessions;
    	}
    	
    	public SessionFormationBean() {
    		setLesSessions(ejbSessionFormationLocal.getSessionFormationFindAll());
    	}
    }
    
    Fichier Interface Local :
    package ejb;
    
    import java.util.List;
    import javax.ejb.Local;
    import model.SessionFormation;
    
    
    /**
     * @generated DT_ID=none
     */
    @Local
    public interface EjbSessionFormationLocal
    {
    
        /**
         * @generated DT_ID=none
         */
        Object queryByRange(String jpqlStmt, int firstResult, int maxResults);
    
        /**
         * @generated DT_ID=none
         */
        public SessionFormation persistSessionFormation(SessionFormation sessionFormation);
    
        /**
         * @generated DT_ID=none
         */
        public SessionFormation mergeSessionFormation(SessionFormation sessionFormation);
    
        /**
         * @generated DT_ID=none
         */
        public void removeSessionFormation(SessionFormation sessionFormation);
    
        /**
         * @generated DT_ID=none
         */
        public List<SessionFormation> getSessionFormationFindAll();
    }
    
    Fichier ejb(DAO) :
    package ejb;
    
    import java.util.List;
    import javax.annotation.Resource;
    import javax.ejb.SessionContext;
    import javax.ejb.Stateless;
    import javax.ejb.TransactionAttribute;
    import javax.ejb.TransactionAttributeType;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
    import javax.persistence.Query;
    import model.SessionFormation;
    
    
    /**
     * @generated DT_ID=none
     */
    @Stateless(name = "EjbSessionFormation", mappedName = "prj-etudes-ear-prj-etudes-ejb-EjbSessionFormation")
    public class EjbSessionFormation
            implements EjbSessionFormationLocal, EjbSessionFormationRemote
    {
    
        /**
         * @generated DT_ID=none
         */
    	@Resource
    	SessionContext sessionContext;
    
        /**
         * @generated DT_ID=none
         */
    	    @PersistenceContext(unitName="prj-etudes-ejb")
            private EntityManager em;
    
        /**
         * @generated DT_ID=none
         */
        public EjbSessionFormation() {
        }
        
        
    
        /**
         * @generated DT_ID=none
         */
        @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
        public Object queryByRange(String jpqlStmt, int firstResult,
                                   int maxResults) {
            Query query = em.createQuery(jpqlStmt);
            if (firstResult > 0) {
                query = query.setFirstResult(firstResult);
            }
            if (maxResults > 0) {
                query = query.setMaxResults(maxResults);
            }
    
            return query.getResultList();
        }
    
        /**
         * @generated DT_ID=none
         */
        public SessionFormation persistSessionFormation(SessionFormation sessionFormation) {
            em.persist(sessionFormation);
            return sessionFormation;
        }
    
        /**
         * @generated DT_ID=none
         */
        public SessionFormation mergeSessionFormation(SessionFormation sessionFormation) {
            return em.merge(sessionFormation);
        }
    
        /**
         * @generated DT_ID=none
         */
        public void removeSessionFormation(SessionFormation sessionFormation) {
            sessionFormation = em.find(SessionFormation.class, sessionFormation.getIdSessionFormation());
            em.remove(sessionFormation);
        }
    
        /**
         * @generated DT_ID=none
         */
        @SuppressWarnings("unchecked")
    	@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
        public List<SessionFormation> getSessionFormationFindAll() {
            return em.createNamedQuery("SessionFormation.findAll").getResultList();
        }
    }
    
     Je tiens à préciser que je n'ai aucun message d'erreur mais ma liste déroulante est vide.
    Merci par avance pour votre aide.

    • Partager sur Facebook
    • Partager sur Twitter

    Avec une confidente fidèle et sûre, les inquiétudes sont plus légères

    comment récupérer les données à partir de MySql

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown