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

Java EE Discussion :

Problème avec l'action du ManagedBean


Sujet :

Java EE

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Par défaut Problème avec l'action du ManagedBean
    Salut veuillez m'aider svp..
    Voila mon managaedBean
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    package com.ReclamationProjet.controlleurs;
     
     
     
    import java.io.Serializable;
     
    import javax.ejb.EJB;
    import javax.faces.bean.ManagedBean;
    import javax.faces.bean.SessionScoped;
     
    import com.ReclamationProjet.modeles.Employe;
    import com.ReclamationProjet.services.EmployeBean;
     
     
     
     
    @ManagedBean(name="employeControlleur")
    @SessionScoped
    public class EmployeControlleur implements Serializable{
     
    	/**
             * 
             */
    	private static final long serialVersionUID = 1L;
     
     
    	@EJB
    	private EmployeBean employeBean;
    	private Employe employe = new Employe();
    	/*
    	private List<Ingenieur> EngineerList ;
     
     
    	public List<Ingenieur> getEngineerList() {
    		return EngineerList;
    	}
    	public void setEngineerList(List<Ingenieur> engineerList) {
    		EngineerList = engineerList;
    	} */
     
     
     
    	public String createEmploye()
    	{
    		employeBean.create(employe);
    		this.employe = new Employe();
    		return("aa.xhtml");
    	}
     
     
     
    	public EmployeBean getEmployeBean() {
    		return employeBean;
    	}
     
     
     
    	public void setEmployeBean(EmployeBean employeBean) {
    		this.employeBean = employeBean;
    	}
     
    ublic Employe getEmploye() {
    		return employe;
    	}
     
     
    	public void setEmploye(Employe employe) {
    		this.employe = employe;
    	}
     
    }
    Ma page xhtml
    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
    28
    <!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:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"> 
     
    <h:head></h:head> 
    <body> 
    *************************************************************
    **************************************************************
    <h1>Creer un nouveau Employé</h1>
    <hr/>
    <h:form>
    <table border="0">
    <tr>
    <td><h:outputLabel value="id :"/></td>
    <td><h:inputText value="#{employeControlleur.employe.id}"/></td>
    </tr>
    <tr>
    <td><h:outputLabel value="NOM :"/></td>
    <td><h:inputText value="#{employeControlleur.employe.nom}"/></td>
    </tr>
     
    </table>
    <h:commandButton value="Creer un employé"  action="#{employeControlleur.createEmploye()}"/>
    </h:form>
    </body> 
    </html>
    la page xhtml et le controlleur sont dans un projet maven Web qui contient une dependece sur un jar d'un autre projet maven EJB
    ce dernier (projet ejb) contient les entités Employe et le session Bean Employe
    tout est bien (le formulaire est bien affiché) jusqu'a ce que j'appui sur le bouton (submit) ..
    l'erreur est la suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    javax.servlet.ServletException: /NewEmploye.xhtml @17,60 value="#{employeControlleur.employe.id}": Target Unreachable, identifier 'employeControlleur' resolved to null
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    j'ai fait des milliers de recherches ( jai crér un beans.xml, j'ai changé l'emplacement du controlleur; j'ai ajoute (name=) pour le managed bean..mais rien ne mearche :/
    quelqu'un peut m'aider
    Merci )

  2. #2
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Bonjour,

    ligne 62 de ton managed Bean, c'est une erreur de copier/coller ou tu as une vraie erreur de syntaxe : il manque le "p" à "public".

    dans ce cas ta classe ne se compile pas, ne se déploie pas et donc n'est pas joingnable par une EL JSF



    Sinon, si ce n'est pas cela.
    Quelle est la stacktrace, s'il y en a une, ou le log de ton serveur d'application (Quel est-il ? GlassFish ?)

    Essaye aussi en mettant "public EmployeBean employeBean;"

    Montre le code aussi de "EmployeBean", il est bien @Stateless ?

  3. #3
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    autre question :
    1 - montre ta page "aa.xhtml"
    2 - montre ta page "NewEmploye.xhtml"

  4. #4
    Membre actif
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Par défaut
    Merci pour votre réponse
    Oui c'est une faute qui a pris lieu quand j'ai copier coller le code.
    j'utilise Jboss 7.0.2.voila l'erreur au juste
    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
    exception 
     
    javax.servlet.ServletException: /NewEmploye.xhtml @17,60 value="#{employeControlleur.employe.id}": Target Unreachable, identifier 'employeControlleur' resolved to null
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
    	org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
     
     
    cause mère 
     
    javax.el.PropertyNotFoundException: /NewEmploye.xhtml @17,60 value="#{employeControlleur.employe.id}": Target Unreachable, identifier 'employeControlleur' resolved to null
    	com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
    	com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
    	javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
    	javax.faces.component.UIInput.validate(UIInput.java:960)
    	javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
    	javax.faces.component.UIInput.processValidators(UIInput.java:698)
    	javax.faces.component.UIForm.processValidators(UIForm.java:253)
    	javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
    	javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
    	com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
    	com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    	com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
    	org.jboss.weld.servlet.ConversationPropagationFilter.doFilter(ConversationPropagationFilter.java:67)
    J'ai changé le Bean et session Bean mais pas de chanagement :///
    oui Mon Employe Bean est de type session ..voila le code
    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
    package com.ReclamationProjet.services;
     
    import com.ReclamationProjet.AbstractFacade.AbstractFacade;
    import com.ReclamationProjet.modeles.*;
    import javax.ejb.Stateless;
    import javax.persistence.EntityManager;
    import javax.persistence.PersistenceContext;
     
     
     
     
    @Stateless
    public class EmployeBean extends AbstractFacade<Employe> {
    	@PersistenceContext(name="EJBModulePU")
    	private EntityManager em;
     
    	protected EntityManager getEntityManager() {
    		return em;
    	}
    	public EmployeBean() {
    		super(Employe.class);
     
    	}
     
     
    }
    Voila, im crossing the fingers

  5. #5
    Membre actif
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Par défaut
    NewEmploye.xhtml
    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
    28
    29
     
    <!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:h="http://java.sun.com/jsf/html"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"> 
     
    <h:head></h:head> 
    <body> 
    *************************************************************
    **************************************************************
    <h1>Creer un nouveau Employé</h1>
    <hr/>
    <h:form>
    <table border="0">
    <tr>
    <td><h:outputLabel value="id :"/></td>
    <td><h:inputText value="#{employeControlleur.employe.id}"/></td>
    </tr>
    <tr>
    <td><h:outputLabel value="NOM :"/></td>
    <td><h:inputText value="#{employeControlleur.employe.nom}"/></td>
    </tr>
     
    </table>
    <h:commandButton value="Creer un employé"  action="#{employeControlleur.createEmploye()}"/>
    </h:form>
    </body> 
    </html>
    Page aa.xhtml
    Cette page je l'ai crée juste pour le test et puis la methode createEmployé retourne un String voila.
    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
     
    <!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:h="http://java.sun.com/jsf/html"
          xmlns:a4j="http://richfaces.org/a4j"
          xmlns:rich="http://richfaces.org/rich"
          xmlns:f="http://java.sun.com/jsf/core"
          xmlns:ui="http://java.sun.com/jsf/facelets"> 
     
    <h:head></h:head> 
    <body>
        <rich:panel>
            <f:facet name="header">
            Write your own custom rich components with built-in AJAX support
            </f:facet>
    		<h:outputText value="Panel Body" /> 
    		<h:outputText value="#{employeControlleur.employe.nom}" />
    	</rich:panel>
    </body> 
    </html>
    Puisque j'utlise maven j'ai des doutes en ce qui concerne
    1.le fait que on projet EJB ( son jar) est une dépendence chez le projet WEB
    2.les conflit des jars ( jai ajouter les jar avec le POM maven editor) peut etre un conflit entre les jar leurs versions incopatible..


    je déprime :'(

  6. #6
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Montre ta classe "Employe".

    id est de quel type ?

  7. #7
    Membre actif
    Femme Profil pro
    Inscrit en
    Février 2013
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2013
    Messages : 28
    Par défaut
    id est de type int
    les deux attributs sont Privates mais ca ne pose pas un probléme je pense vu ilya les getters et setter
    Voila l'entité Employé
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    package com.ReclamationProjet.modeles;
     
    import java.io.Serializable;
    import java.lang.String;
    import javax.persistence.*;
     
    /**
     * Entity implementation class for Entity: Employe
     *
     */
    @Entity
     
    public class Employe implements Serializable {
     
    	private static final long serialVersionUID = 1L;
    	@Id
     
    	private int Id;
    	private String Nom;
     
     
    	public Employe() {
    		super();
    	}   
    	public int getId() {
    		return this.Id;
    	}
     
    	public void setId(int Id) {
    		this.Id = Id;
    	}   
    	public String getNom() {
    		return this.Nom;
    	}
     
    	public void setNom(String Nom) {
    		this.Nom = Nom;
    	}
    	public Employe(int id, String nom) {
    		super();
    		Id = id;
    		Nom = nom;
    	}
     
     
     
    }

    Merci pour ta patience

  8. #8
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    dans ta page, change "<body>" par "<h:body>".
    Je ne sais pas si c'est ça la cause, mais ça peut pas faire de mal.

    Après, on avisera pour faire les choses "proprement" petit à petit.

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/01/2014, 20h58
  2. Hibernate, Struts problème avec une action
    Par bulma546 dans le forum Hibernate
    Réponses: 0
    Dernier message: 11/03/2009, 17h48
  3. Réponses: 2
    Dernier message: 08/06/2008, 18h12
  4. Problème avec dispatch action
    Par Zanton dans le forum Struts 1
    Réponses: 5
    Dernier message: 24/10/2006, 14h10
  5. problème avec les action struts
    Par kevin75 dans le forum Struts 1
    Réponses: 4
    Dernier message: 22/09/2006, 10h24

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