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 :

problème d'action du managed-bean


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut problème d'action du managed-bean
    Salut pour tous,
    je travaille avec jsf sous eclipse. J'ai créé un managed-bean appelé ConnectionBean, jai une page jsp qui contient un formulaire j'ai voulu récupérer les valeurs du bean à partir de ce formulaire et l'insérer dans une base, pour cela j'ai implémenté une méthode appelé saveConnection pour l'ajout d'une connection dans la table connection.
    voici le code du bouton
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <h:commandButton value="SaveConnection" action="#{connectionBean.saveConnection}" />
    mais j'ai remarquer lorsque j'ai fait un mode débogage q'il n'entre pas complétement dans la mtéthode saveConnection.
    Notons que mon managed-bean à été défini dans faces-config.
    merci pour votre aide

  2. #2
    Membre averti
    Inscrit en
    Mai 2004
    Messages
    335
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 335
    Points : 332
    Points
    332
    Par défaut
    qu'es que ca veux dire :
    'il n'entre pas complétement dans la mtéthode saveConnection.
    tu peux donner la signature de saveConnection
    la portion ou t'as defini ton bean dans ton faces-config
    La connaissance est la seule chose qui s'accroit lorsqu'on la partage.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    Voici le code de mon managed-bean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
         <managed-bean-name >connectionBean</managed-bean-name>
         <managed-bean-class>com.xx.printer.web.reporting.dyna.forms.GestionConnection</managed-bean-class>
         <managed-bean-scope>session</managed-bean-scope>
       </managed-bean>
    voici un petit code qui réalise une action simple et n'a pas aussi fonctionner
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String saveConnection() {
    		System.out.println("helloooooooooooooooooooooooooooooooooooooooooooooo");
    this.setName("vvvv");
    		System.out.println("helloooooooooooooooooooooooooooooooooooooooooooooo");
    		return "ok";
     
    	}
    il m'a pas même afficher les hello. j'ai meme enlevé la methode saveConnection et aucune erreur n'a été signalé.

  4. #4
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Bonjour,
    Ton commandButton est bien dans un form ?
    Et t'as pas d'erreurs de validation ? (Ajoutes un <h:messages /> pour le vérifier)

  5. #5
    Membre averti Avatar de Philcmoi
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 661
    Points : 410
    Points
    410
    Par défaut modestement
    ton saveconnection doit retourner un String pour la navigation entre les pages faces. Et suivant les champs, variables de ton managed bean tu dois avec eclipse faire des setters et getters, et suivant ta logique coder ta requette sql (suivant les normes de ta basse de donneées)
    Les getters et setters servent à récupérer tes données.

    Donnes nous le bout de ton code de ton managedean sans oublier le saveconnection.

  6. #6
    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
    Points : 7 275
    Points
    7 275
    Par défaut
    Je suis d'avis de tester ce qu'a dit djo.mos. Le coup du form est un classique
    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

  7. #7
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    j'ai ajouté <h:message> et aucune erreur aucune erreur ne s'affiche. En plus j'ai initialisé la valeur de l'attribut name dans la classe java et j'ai remarqué que la valeur à été affiché dans le formulaire. Donc le problème est seulement pour les méthodes et non pas pour les attribut.

  8. #8
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    j'ai essayé d'ajouter un attribut et dans la méthode get de cet attribut j'ai fait appel à la methode saveConnection parce que j'ai remarqué que le problème est sauf pour les méthodes (mais pourquoi) j'ai constater que ça marche pour l'insertion d'une ligne dans la base de données mais le problème c'est que cette ligne est vide les valeurs du bean n'ont pas été récupérés du formulaire tous les champs dans la base de données sont vide sauf le champ nom que j'ai initialisé dans la classe java.est ce que vous pouvez m'aider

  9. #9
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    l'attribut que j'ai ajouté est accepted comme ça ça fonctionne mais la ligne insérée dans la table est vide

    <h:commandButton value="SaveConnection" onclick="#{connectionBean.accepted}"/>

    et comme ça ça fonctionne pas

    <h:commandButton value="SaveConnection" action="#{connectionBean.accepted}"/>

  10. #10
    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
    Points : 7 275
    Points
    7 275
    Par défaut
    Pour information, onclick doit contenir du code Javascript. On peut très bien faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton ... onclick="#{monBean.doSomething}"/>
    mais dans le bean, on aura ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String getDoSomething() {
        return "alert('du code javascript quoi');";
    }
    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

  11. #11
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    merci romaintaz pour votre information mais est ce que vous pouvez m'aider pour résoudre mon problème. il est clair que <action ...> ne peut pas être exécuté. est ce que vous avez une idée.

  12. #12
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    Est ce qu'il y a un code qu'il faut ajouté quelque part pour que
    <h:commandButton action=....> puisse fonctionné

  13. #13
    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
    Points : 7 275
    Points
    7 275
    Par défaut
    Tu l'as bien mis dans un form ?
    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

  14. #14
    Membre du Club
    Inscrit en
    Novembre 2007
    Messages
    161
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 161
    Points : 48
    Points
    48
    Par défaut
    oui
    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
     
    <h:form >
     
    <h:inputHidden id="id" value="#{connectionBean.id}"/>
     
    <h:panelGrid columns="2" border="0">
     
    		<h:outputText value="Name"/>
     
    		<h:inputText id="Name" value="#{connectionBean.name}" size="60"/>
     
    		<h:outputText value="Driver Class"  />
     
    		<h:inputText id="driverClass" value="#{connectionBean.driverClass}" size="60"/>
     
            <h:outputText value="Connecting String" />
     
    		<h:inputText id="ConnectingString" value="#{connectionBean.connectionString}" size="60"/>
     
    	    <h:outputText value="User Name" />
     
            <h:inputText id="UserName" value="#{connectionBean.userName}" size="60"></h:inputText>
     
    		<h:outputText value="User Password" />
     
             <h:inputSecret id="UserPassword" value="#{connectionBean.userPassword}" size="60">
    		</h:inputSecret>
     
     
    </h:panelGrid>
     
     
    	<h:commandButton value="SaveConnection"  action="#{connectionBean.saveConnection}"/>
    	<h:commandButton value="Cancel" onclick="window.close();" />
    <h:messages id="errors" 
    					style="color:red;font-weight:bold" 
    					layout="table" />
     
    </h:form>

Discussions similaires

  1. Problème d'injection de Managed Beans
    Par globus001 dans le forum JSF
    Réponses: 8
    Dernier message: 03/09/2013, 17h25
  2. Réponses: 3
    Dernier message: 21/11/2011, 10h54
  3. Réponses: 1
    Dernier message: 02/12/2010, 10h56
  4. Réponses: 2
    Dernier message: 03/09/2007, 17h06
  5. Problème à l'initialisation d'un managed-bean
    Par fredlev dans le forum JSF
    Réponses: 2
    Dernier message: 04/07/2007, 13h34

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