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 :

Code JSF converti en PrimeFaces


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut Code JSF converti en PrimeFaces
    Bonjour, je veux "convertir" ce bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton id="update" value="Update" action="#{userMBean.update}"/>
    en PrimeFaces, alors j'ai mis ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <p:commandButton id="update" value="Update" actionListener="#{userMBean.update}"/>
    mais en cliquant sur le boutton plutard, aucune action ne se produit.
    Est ce que je dois créer une classe java pour le listener? ou quoi au juste?
    Je vous remercie

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Et pourquoi veux tu utiliser actionListener et non action tout simplement?

  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
    Citation Envoyé par DevServlet Voir le message
    Et pourquoi veux tu utiliser actionListener et non action tout simplement?
    tout à fait.

    parfois je me dis qu'il est plus facile de poster une demande ici que de chercher un tout petit peu ...

  4. #4
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Non non mes chers messieurs, j'ai bien cherché avant de poser ma question, et avant d'aller plus loin avec le actionListener, g essayé le action, et g essayé des tas de choses qu'on puisse ajouter à cette balise.
    Cela ne fonctionne pas et je n'ai ni encadrant, ni quelqu'un du domaine pour m'aider, c'est pourquoi je me rends dans ce forum ces derniers jours

    Je vous remercie

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Par défaut
    Je pense que du coup, il va nous falloir plus d'informations pour pouvoir t'aider.

    Pourrais-tu nous poster ta page xhtml et la signature + contenu de ta méthode update ?

    Quand tu dis, qu'il ne se passe rien, c'est qu'il n'y a rien dans la console ? Aucune erreur ? La méthode coté ManagedBean n'est même pas appelée ?

  6. #6
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Je vous remercie pour votre réponse.
    Ce que je n'ai pas compris est qu'avec JSF le bouton fonctionne, mais il suffit d'utiliser Primefaces pour que le bouton devienne inactif (le programme fonctionne, sauf le bouton codé en PF qui a l'air d'être inactif)

    Je vous joins le code nécessaire

    jsf.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
    30
    <?xml version='1.0' encoding='UTF-8' ?>
    <!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:p="http://primefaces.prime.com.tr/ui">
        <h:head>
            <title>User Details</title>
        </h:head>
        <h:body>
            <h1> Details</h1>
            <f:view>
                <h:form>
                    <h1><h:outputText value="Create/Edit"/></h1>
                    <h:panelGrid columns="2">
                        <h:outputLabel value="IdUser:" for="idUser" />
                        <p:inputText id="idUser" value="#{userMBean.details.idUser}" title="IdUser" required="true" requiredMessage="The IdUser field is required."/>
                        <h:outputLabel value="FirstName:" for="firstName" />
                        <p:inputText id="firstName" value="#{userMBean.details.firstName}" title="First Name" required="true" requiredMessage="The FirstName field is required."/>
                        
                    </h:panelGrid>
                    <br/>
             
    <p:button outcome="index" value="Back"/>  
    <h:commandButton id="update" value="Update" action="#{userMBean.update}"/>
    en Primefaces: <p:commandButton id="update" value="Update" action="#{userMBean.update}"/>
      </h:form>
            </f:view>
        </h:body>
    </html>
    UserMBean.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      public String update() {
            System.out.println("###UPDATE###");
            user = userManager.update(user);
            return "index";
        }
    UserManager.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public User update(User user) {
            return em.merge(user); 
        }

  7. #7
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    euuh je crois que je me suis fait toute une histoire!
    je dois certainement manquer du sommeil

    bon voilà, le p:commandButton fonctionne, mais après l'update avec primefaces je ne suis pas redirigée vers index.html. c pk j'ai cru qu'aucun chgmt ne s'effectue (j'aurai dû vérifier ma base )

    ma page jsf.xhtml est reliée avec index.xhtml dans faces-config.xml

    Pourriez vous svp m'aider sur ce point?

  8. #8
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par electronnne Voir le message
    euuh je crois que je me suis fait toute une histoire!
    je dois certainement manquer du sommeil

    bon voilà, le p:commandButton fonctionne, mais après l'update avec primefaces je ne suis pas redirigée vers index.html. c pk j'ai cru qu'aucun chgmt ne s'effectue (j'aurai dû vérifier ma base )

    ma page jsf.xhtml est reliée avec index.xhtml dans faces-config.xml

    Pourriez vous svp m'aider sur ce point?
    Peut on voir ton faces-config.xml?

  9. #9
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    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
    <?xml version='1.0' encoding='UTF-8'?>
    
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
    
    <faces-config version="2.0"
        xmlns="http://java.sun.com/xml/ns/javaee" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
        <navigation-rule>
            <from-view-id>/authentication.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>failure</from-outcome>
                <to-view-id>/failure.xhtml</to-view-id>
            </navigation-case>
            <navigation-case>
                <from-outcome>index</from-outcome>
                <to-view-id>/index.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>
        <navigation-rule>
            <from-view-id>/lquerycourse.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>case1</from-outcome>
                <to-view-id>/lresultquery.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>
        <navigation-rule>
            <from-view-id>/index.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>UserDetails</from-outcome>
                <to-view-id>/UserDetails.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>
        <navigation-rule>
            <from-view-id>/UserDetails.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>index</from-outcome>
                <to-view-id>/index.xhtml</to-view-id>
            </navigation-case>
        </navigation-rule>
    </faces-config>
    Images attachées Images attachées  

  10. #10
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Dans ta naviagation-rule tu décris un lien et non une action. Ça doit plutôt ressembler à ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <navigation-rule>
      <from-view-id>/UserDetails.xhtml</from-view-id>
      <navigation-case>
        <from-action>#{userMBean.update}</from-action>
        <from-outcome>index</from-outcome>
        <to-view-id>/index.xhtml</to-view-id>
      </navigation-case>

  11. #11
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Le code dans faces-config.xml s'insère automatiquement en joignant les vues dans PageFlow.
    Je vais tester ce que vous m'avez suggéré et vous dire que cela marche ou pas.
    Merci

  12. #12
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    cela ne fonctionne pas malheureusement. l'action de l'update sans produit sans que je sois redirigée vers l'autre page

  13. #13
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Dis nous, est ce que la redirection d'authentication marche ? je parle de celle là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <navigation-rule>
            <from-view-id>/authentication.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>failure</from-outcome>
                <to-view-id>/failure.xhtml</to-view-id>
            </navigation-case>...

  14. #14
    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
    en PrimeFaces, tous les tags sont AJAX.
    donc si tu veux rafraichir qqch il faut le faire via l'attribut update.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:commandButton update="composants" ... />
    Sinon, tu peux faire sans ajax en mettant ajax="false" dans les boutons primefaces ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:commandButton ajax="false" action="#{monBean.action}"  />

  15. #15
    Membre averti
    Inscrit en
    Novembre 2009
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 60
    Par défaut
    Citation Envoyé par fxrobin Voir le message
    en PrimeFaces, tous les tags sont AJAX.
    donc si tu veux rafraichir qqch il faut le faire via l'attribut update.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:commandButton update="composants" ... />
    Sinon, tu peux faire sans ajax en mettant ajax="false" dans les boutons primefaces ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <p:commandButton ajax="false" action="#{monBean.action}"  />
    Voilà c'est ce qu'il fallait ajouter
    Je vous remercie fxrobin et DevServlet pour votre aide.

  16. #16
    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
    de rien.

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

Discussions similaires

  1. correspondance entre code jsf et struts2
    Par franco9 dans le forum Struts 1
    Réponses: 1
    Dernier message: 28/06/2012, 13h58
  2. Configuration projet JSF 2.0, PrimeFaces, Tomcats
    Par Psycho185 dans le forum JSF
    Réponses: 4
    Dernier message: 06/04/2012, 09h19
  3. Réponses: 3
    Dernier message: 17/02/2011, 09h29
  4. Problème de code JSF non interprété
    Par tmanta7 dans le forum JSF
    Réponses: 1
    Dernier message: 15/11/2010, 13h41
  5. convertir un fichier XML en code JSF
    Par crespoo dans le forum JSF
    Réponses: 0
    Dernier message: 30/03/2009, 17h43

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