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 :

[debutant]probleme recuperation d'un bean


Sujet :

JSF Java

  1. #1
    Membre éclairé Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Par défaut [debutant]probleme recuperation d'un bean
    bonjour,
    mon probleme est le suivant.
    je suis entrain de developper une petite application en jsf,
    dans une page client.jsp j'affiche l'ensemble des clients que j'ai dans ma base.
    jusque la tout marche bien,dans une 2eme partie je veux ajouter une fonctionalite qui me permet de modifier un client.
    donc devant chaque client j'ai ajoute un lien qui m'envoie vers une autre page "ficheClient.jsp" qui contient des champs pour modifier les informations concernant le client choisi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <html:commandButton type="submit" image="http://localhost:8080/magazin/images/delete.gif"    
    action="#{controller.modifierClient}"/>
    <core:param  value="#{client.id}" binding="#{clientView.id_client}" />
    la methode modifierClient dans la classe "Controller" est comme suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public String modifierClient()throws HibernateException{
    				FacesContext facesContext = FacesContext.getCurrentInstance(); 
    		ApplicationFactory appFactory = (ApplicationFactory)FactoryFinder.getFactory(FactoryFinder.APPLICATION_FACTORY); 
    		Application app = appFactory.getApplication(); 
    		//facesContext.setResponseWriter()
    		ClientView clientView=(ClientView)app.createValueBinding("#{clientView}").getValue(facesContext);
    		    ClientService service=new ClientService();
    	    service.getOneClient(Integer.parseInt(clientView.getId_client().getValue().toString()));
    	    return "modifierClient";
    		}

    la methode getOneClient de la classe ClientService est la suivante:
    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
    //**************************recuperer un enregistrement********************************//
    	public ClientBean getOneClient(int id)throws HibernateException{
     
    		Session session=HibernateUtil.currentSession();
     
    		Transaction tx = session.beginTransaction();
    		Client client=(Client)session.load(Client.class,new Integer(id));
    		ClientBean clientBean=new ClientBean(client.getId().intValue(),client.getNom(),client.getPrenom(),client.getTel(),client.getProfession(),client.getAdresse(),client.getDateNaissance());
    		System.out.println("**nom du client a modifier est:"+clientBean.getNom());
    		tx.commit();
    		HibernateUtil.closeSession();
    		return clientBean;
     
     
    	}
    et le faces-config est comme suit:

    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
    faces-config>
     <managed-bean>
      <managed-bean-name>clientBean</managed-bean-name>
      <managed-bean-class>view.ClientBean</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     <managed-bean>
      <managed-bean-name>controller</managed-bean-name>
      <managed-bean-class>controller.Controller</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     <managed-bean>
      <managed-bean-name>clientView</managed-bean-name>
      <managed-bean-class>binding.ClientView</managed-bean-class>
      <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
    <navigation-rule>
      <from-view-id>/jsp/clients.jsp</from-view-id>
      <navigation-case>
       <from-action>#{controller.modifierClient}</from-action>
       <from-outcome>modifierClient</from-outcome>
       <to-view-id>/jsp/ficheClient.jsp</to-view-id>
      </navigation-case>
     </navigation-rule>
     <application>
      <locale-config>
       <default-locale>fr</default-locale>
      </locale-config>
     </application>
    </faces-config>
    Le probleme c'est que quand je veux afficher les information concernant le client dans la page ficheClient.jsp je trouve que le bean clientBean est vide "j ai des valeurs nulle" pourtant je l ai remplie dans la methode getOneClient de la classe ClientService et je l ai mis en scope session.

    je crois que le bean ne reste plus en session et qu'il s'instantie de nouveau.

    merci de votre aide

  2. #2
    Membre éclairé Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Par défaut
    en fait,il fallait que j'ajoute l'instance de mon bean une fois remplie dans "getOneClient" au contexte de l'application.
    j'ai ajoute le code suivant et il marche bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    FacesContext fc = FacesContext.getCurrentInstance();
    		Application app = fc.getApplication();
    		app.createValueBinding("#{sessionScope.clientBean}").setValue(fc, clientBean);
    voila

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/03/2008, 13h34
  2. [MySQL] [débutant] probleme pour recuperer ID max et ID min
    Par fabien14 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 25/09/2006, 10h48
  3. Réponses: 1
    Dernier message: 22/05/2006, 14h44
  4. [xml-xsl][debutant]probleme de recuperation d'url
    Par psychogore dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/04/2005, 17h09
  5. [debutant] Probleme pour dessiner un simple cube
    Par scorpiwolf dans le forum DirectX
    Réponses: 6
    Dernier message: 02/07/2003, 20h29

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