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 :

Questions à propros des applications EJB/JSF


Sujet :

JSF Java

  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut Questions à propros des applications EJB/JSF
    Bonjour,

    J'ai créé un projet EJB et j'ai crée mes EJB Entity et Session, ainsi que le mapping Hibernate et ça fonctionne bien.

    Maintenant, j'aimerais créer mon IHM avec JSF et les RichFaces.

    J'ai quelques confusions : les Managed Bean sont-ils eux-mêmes des entités ?

    Comment appeler les méthodes des Beans ?

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Les managed beans sont simplement des beans, c'est-à-dire de simples classes Java (POJO) où chaque propriété dispose d'un getter (et éventuellement d'un setter), encapsulant ainsi ses données.

    L'appel à une méthode se fait via une expression EL pointant vers une méthode soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public String methode()
    (attribut action), soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void methode(ActionEvent evt)
    (attribut actionListener) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public String methode1() {
        // Do something...
        return "someNavigationRuleID";
    }
     
    public void methode2(ActionEvent evt) {
        // Do something...
    }
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <h:commandLink value="Methode 1" action="#{monBean.methode1}" .../>
    <h:commandLink value="Methode 2" actionListener="#{monBean.methode2}" .../>
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut
    merci pour l'éclaircissement
    j ai fouillé sur le net, et je vais utiliser la méthode d'injection (j ai essayé la méthode look up et ca marche bien)
    donc je dispose de 2 projets: un projet ejb qui contient les module ejb , et un autre qui contient la partie presentation en jsf
    mon probleme est lorsque je cree un managed bean , ce dernier n a pas accés à mon session bean puisqu'ils sont de differents projets.

    voila l'interface remote
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    package org.biobanque.session;
     
    import javax.ejb.Remote;
     
    import org.biobanque.entity.Profil;
    @Remote
    public interface GestionProfil {
     
    	Profil connexion(String string, String string2);
     
    }

    et voila mon stateless bean
    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
    24
    25
    26
    27
    package org.biobanque.session.bean;
     
    import javax.ejb.Stateless;
    import javax.persistence.*;
     
    import org.biobanque.entity.*;
    import org.biobanque.session.GestionProfil;
     
     
    @Stateless(name="ProfilBean")
    public class ProfilBean implements GestionProfil {
    	@PersistenceContext
    	private EntityManager em;
     
    	public Profil connexion(String login, String motPasse) {
    		Query q = em
    				.createQuery("SELECT p FROM Profil p where p.login= :login and p.motPasse= :motPasse");
    		q.setParameter("login", login);
    		q.setParameter("motPasse", motPasse);
    		q.setMaxResults(1);
    		Profil p = (Profil) q.getSingleResult();
     
    		return p;
     
    	}
     
    }
    et je cree un managed bean dans le projet JSF
    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
    import javax.ejb.EJB;  
    import javax.faces.event.ActionEvent; 
     
    // ces import ne sont pas reconnu vu qu ils sont d un autre projet
    import org.biobanque.session.GestionProfil;  
    import org.biobanque.session.bean.ProfilBean;  
    import org.biobanque.entity.Profil;  
     
    public class ConnexionController {
    	public ConnexionController() {
    	}
    	    @EJB(name="ProfilBean") 
    	    private GestionProfil p;// cannot be resolved to a type
     
    	    public String getconnexion(String a, String b){
    	    	p.connexion(a,b);
    	    	return p.getNom();
    	    }
     
    }
    j ai essayé de créer le managed bean avec le projet EJB et ca donne des problemes avec faces-config.xml vu qu'il ne connais pas le chemin du bean
    merci d'avance

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2010
    Messages
    342
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 342
    Par défaut
    Ouai c'est normal, tu as combien de projets et de quel type ? Tu as un projet EJB et un projet web dynamique qui intègre JSF c'est ça ? Et tu veux accéder à l'EJB qui se trouve dans le projet EJB à partir du projet web dynamique en faisant une injection de dépendance ?

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Décembre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2007
    Messages : 9
    Par défaut
    enfin j ai reussi à résoudre ce petit problème en important le projet ejb au projet jsf
    donc
    tu as combien de projets et de quel type ?
    ==> deux :un projet EJB et un projet web dynamique qui intègre JSF
    Et tu veux accéder à l'EJB qui se trouve dans le projet EJB à partir du projet web dynamique en faisant une injection de dépendance ?
    oui, et j'ai essayé de déployer les deux projet war et jar dans un projet EAR mais j ai toujours la fameuse réponse
    javax.servlet.ServletException: java.lang.NullPointerException
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)

  6. #6
    Membre éprouvé
    Avatar de Crooby
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2011
    Messages
    65
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 65
    Par défaut
    depuis les EJB 3 plus besoin de fichier EAR, tout dans le WAR

Discussions similaires

  1. [EJB3] Erreur de lancement d'application EJB, JPA, JSF
    Par steave dans le forum Java EE
    Réponses: 5
    Dernier message: 14/10/2009, 22h18
  2. Réponses: 4
    Dernier message: 07/09/2009, 13h52
  3. dépolyer une application EJB; JSF sans redémarrer JBOSS
    Par hawaa dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 08/08/2009, 10h16
  4. [JSF] Questions autour des servlets
    Par maximus001ma dans le forum JSF
    Réponses: 4
    Dernier message: 25/07/2006, 13h27
  5. Question à propros des Guid
    Par smyley dans le forum Windows
    Réponses: 7
    Dernier message: 16/07/2005, 20h30

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