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 :

Débuter en JSF - Gestion du faces-config.xml


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut Débuter en JSF - Gestion du faces-config.xml
    Bonjour à tous,

    Débutant en JSF, j'aimerai savoir les astuces qui permettent un fonctionnement stable d'une application, notamment dans la gestion des rafraichissement de pages, quand faut il le faire etc...

    De plus, comment utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <managed-bean-scope>session</managed-bean-scope>
    J'ai entendu dire qu'il était possible de recharger un <managed-bean-scope>session</managed-bean-scope>....

    Pouvez-vous m'en dire plus ?

    Merci bcp
    Fred

  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
    La meilleure façon de comprendre les bases c'est de lire. Je te conseille vivement de prendre le temps de lire ce tutoriel. Tu pourras revenir vers nous après.

  3. #3
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour,

    Merci de m'avoir indiqué ce tutoriel. Je rencontre tout de même le problème suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    1 - Impossible de créer le bean géré AjoutTechnicienControleur. Les problèmes suivants ont été détectés : - La propriété Technicien_DTO du bean géré AjoutTechnicienControleur nexiste pas
    Voici mon faces-config.xml :

    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
     
    <managed-bean>
            <managed-bean-name>Technicien_DTO</managed-bean-name>
            <managed-bean-class>DTO.Technicien_DTO</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
     <!--Declaration des Controleurs -->
     
     <!-- Controleur Ajout_Technicien -->
        <managed-bean>
            <managed-bean-name>AjoutTechnicienControleur</managed-bean-name>
            <managed-bean-class>Controleurs.Ajout_Technicien_Controleur</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
                <property-name>Technicien_DTO</property-name>
                <property-class>DTO.Technicien_DTO</property-class>
                <value>#{technicienDTO}</value>
            </managed-property>
        </managed-bean>
    Voyez-vous l'erreur ?

    Merci
    Fred

  4. #4
    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
    As tu pris le temps de lire le tutoriel que j'ai envoyé pour bien comprendre comment marchent les configurations du faces-config ? Si oui fais-nous voir le code complet de la classe Ajout_Technicien_Controleur. Et en passant je t'exhorte aussi à lire les Best Practices Java, la nomenclature de ta classe n'est pas conforme aux normes. Je te fais suivre ce lien aussi. Autant partir sur de bonnes bases quand on débute.

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour,

    Merci de ta réponse.

    J'ai modifié le nom de mes variables pour être en accord avec les normes.

    J'ai repris pas mal de point sur le faces-config.xml, mais je rencontre encore quelques problèmes.

    L'indication d'erreur précédente a été résolu, le bean est désormais reconnu, mais plus rien ne se passe lorsque je click sur le commandButton :

    Voici mon faces-config.xml :
    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
     
    <managed-bean>
            <managed-bean-name>TechnicienDTO</managed-bean-name>
            <managed-bean-class>DTO.TechnicienDTO</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
     </managed-bean>
     
        <managed-bean>
            <managed-bean-name>AjoutTechnicienControleur</managed-bean-name>
            <managed-bean-class>Controleurs.AjoutTechnicienControleur</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
                <property-name>technicienDTO</property-name>
                <property-class>DTO.Technicien_DTO</property-class>
                <value>#{TechnicienDTO}</value>
            </managed-property>
        </managed-bean>
    Voici la classe AjoutTechnicienControleur.java :

    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
     
    public class AjoutTechnicienControleur {
     
        //Connexion à la base de données
        protected static final Connection connV2 = ConnectionBDDV2.getInstance();
     
        //Attribut du bean pour creation Technicien
        private TechnicienDTO technicienDTO ;
     
        //Variables a insérer dans la BDD
        private String nom ="";
        private String prenom ="";
        private Date naissanceDate;
        private String identifiant ="";
        private String gsm ="";
        private String responsable = "";
        private String mobilite = "";
        private String domaine = "";
        private String localisation = "";
        private Date departDate;
     
        //Constructeur
        public AjoutTechnicienControleur(){
     
        }
     
        public void methode(){
            System.out.println("Début de la méthode de creation de technicien");
            nom = this.getTechnicienDTO().getNom();
            System.out.println("Nom : "+nom);
            prenom = this.getTechnicienDTO().getPrenom();
            System.out.println("Prenom : "+prenom);
            naissanceDate = this.getTechnicienDTO().getDateNaissance();
            System.out.println("Date de naissance : "+naissanceDate);
            identifiant = this.getTechnicienDTO().getIdFt();
            System.out.println("Identifiant : "+identifiant);
            gsm = this.getTechnicienDTO().getNumGsm();
            System.out.println("GSM : "+gsm);
            responsable = this.getTechnicienDTO().getResponsable();
            System.out.println("Responsable : "+responsable);
            mobilite = this.getTechnicienDTO().getMobilite();
            System.out.println("Mobilite : "+mobilite);
            domaine = this.getTechnicienDTO().getMobilite();
            System.out.println("Mobilite : "+mobilite);
            domaine = this.getTechnicienDTO().getDomaine();
            System.out.println("Domaine : "+domaine);
            localisation = this.getTechnicienDTO().getLocalisation();
            System.out.println("Localisation : "+localisation);
            departDate = this.getTechnicienDTO().getDateDepart();
            System.out.println("Date de départ : "+departDate);
        }
     
        /**
         * @return the technicienDTO
         */
        public TechnicienDTO getTechnicienDTO() {
            return technicienDTO;
        }
     
        /**
         * @param technicienDTO the technicienDTO to set
         */
        public void setTechnicienDTO(TechnicienDTO technicienDTO) {
            this.technicienDTO = technicienDTO;
        }
    }
    La classe TechnicienDTO.java :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
     
    public class TechnicienDTO implements Serializable{
     
        private String idFt ="";
        private String nom ="";
        private String prenom ="";
        private String numGsm ="";
        private String responsable ="";
        private String localisation ="";
        private String mobilite ="";
        private Date dateNaissance;
        private String domaine ="";
        private Date dateDepart;
     
        public TechnicienDTO(){
     
        }
     
        /**
         * @return the idFt
         */
        public String getIdFt() {
            return idFt;
        }
     
        /**
         * @param idFt the idFt to set
         */
        public void setIdFt(String idFt) {
            this.idFt = idFt;
        }
     
        /**
         * @return the nom
         */
        public String getNom() {
            return nom;
        }
     
        /**
         * @param nom the nom to set
         */
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        /**
         * @return the prenom
         */
        public String getPrenom() {
            return prenom;
        }
     
        /**
         * @param prenom the prenom to set
         */
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
     
        /**
         * @return the numGsm
         */
        public String getNumGsm() {
            return numGsm;
        }
     
        /**
         * @param numGsm the numGsm to set
         */
        public void setNumGsm(String numGsm) {
            this.numGsm = numGsm;
        }
     
        /**
         * @return the responsable
         */
        public String getResponsable() {
            return responsable;
        }
     
        /**
         * @param responsable the responsable to set
         */
        public void setResponsable(String responsable) {
            this.responsable = responsable;
        }
     
        /**
         * @return the localisation
         */
        public String getLocalisation() {
            return localisation;
        }
     
        /**
         * @param localisation the localisation to set
         */
        public void setLocalisation(String localisation) {
            this.localisation = localisation;
        }
     
        /**
         * @return the mobilite
         */
        public String getMobilite() {
            return mobilite;
        }
     
        /**
         * @param mobilite the mobilite to set
         */
        public void setMobilite(String mobilite) {
            this.mobilite = mobilite;
        }
     
        /**
         * @return the dateNaissance
         */
        public Date getDateNaissance() {
            return dateNaissance;
        }
     
        /**
         * @param dateNaissance the dateNaissance to set
         */
        public void setDateNaissance(Date dateNaissance) {
            this.dateNaissance = dateNaissance;
        }
     
        /**
         * @return the domaine
         */
        public String getDomaine() {
            return domaine;
        }
     
        /**
         * @param domaine the domaine to set
         */
        public void setDomaine(String domaine) {
            this.domaine = domaine;
        }
     
        /**
         * @return the dateDepart
         */
        public Date getDateDepart() {
            return dateDepart;
        }
     
        /**
         * @param dateDepart the dateDepart to set
         */
        public void setDateDepart(Date dateDepart) {
            this.dateDepart = dateDepart;
        }
    }
    La page xhtml contenant le formulaire :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
     
    <ui:define name="content">  
                    <h:form id="ajoutTechForm">
                        <div id="titrePage">
                            <h2 class="itemTitrePage">Création d'un nouveau technicien dans CompTech</h2>
                        </div>
                        <div id="titreAdmin">
                            <h1 class="item">1. Création d'un nouveau technicien :</h1>
                            <div id="panelTech">
                                <pou:panel id="ficheTechnicien" header="Fiche du technicien" styleClass="ficheTechPanel">
                                    <div class="nomTech">
                                        <h1 class="sousItemFicheTech">Nom :</h1>
                                        <f:view>
                                            <pou:inputText styleClass="outputText" value="#{TechnicienDTO.nom}"></pou:inputText>
                                        </f:view>
                                        <h:messages/>
                                    </div>
                                    <div class="prenomTech">
                                        <h1 class="sousItemFicheTech">Prénom :</h1>
                                        <f:view>
                                            <pou:inputText styleClass="outputText" value="#{TechnicienDTO.prenom}"></pou:inputText>
                                        </f:view>
                                    </div>
                                    <div class="naissanceTech">
                                        <h1 class="sousItemFicheTech">Date de naissance :</h1>
                                        <f:view>
                                            <pou:calendar styleClass="calendar" value="#{TechnicienDTO.dateNaissance}" navigator="true" />
                                        </f:view>
                                    </div>
                                    <div class="identTech">
                                        <h1 class="sousItemFicheTech">Identifiant :</h1>
                                        <f:view>
                                            <pou:inputText styleClass="outputText" value="#{TechnicienDTO.idFt}"></pou:inputText>
                                        </f:view>
                                    </div>
                                    <div class="gsmTech">
                                        <h1 class="sousItemFicheTech">N° de GSM :</h1>
                                        <f:view>
                                            <pou:inputText styleClass="outputText" value="#{TechnicienDTO.numGsm}" ></pou:inputText>
                                        </f:view>
                                    </div>
                                </pou:panel>
                            </div>
                            <div id="panelTechBis">
                                <pou:panel id="ficheSpeTech" header="Specifications" styleClass="ficheSpeTech">
                                    <div class="reponsableTech">
                                        <h1 class="sousItem2">Responsable :</h1>
                                        <f:view>
                                            <pou:selectOneMenu value="#{TechnicienDTO.responsable}}" styleClass="combo2">
                                                <f:selectItems value="#{ResponsableBDD.nomResponsables}"/>
                                            </pou:selectOneMenu>
                                        </f:view>
                                    </div>
                                    <div class="mobiliteTech">
                                        <h1 class="sousItem2">Mobilité :</h1>
                                        <f:view>
                                            <pou:inputText styleClass="outputText" value="#{TechnicienDTO.mobilite}"></pou:inputText>
                                        </f:view>
                                    </div>
                                    <div class="domaineTech">
                                        <h1 class="sousItem2">Domaine :</h1>
                                        <f:view>
                                            <pou:selectOneMenu value="#{TechnicienDTO.domaine}" styleClass="combo2">
                                                <f:selectItems value="#{DomaineBDD.nom_domaines}"/>
                                            </pou:selectOneMenu>
                                        </f:view>
                                    </div>
                                    <div class="localisationTech">
                                        <h1 class="sousItem2">Localisation :</h1>
                                        <f:view>
                                            <pou:selectOneMenu  value="#{TechnicienDTO.localisation}" styleClass="combo2">
                                                <f:selectItems value="#{LocalisationBDD.nom_localisation}"/>
                                            </pou:selectOneMenu>
                                        </f:view>
                                    </div>
                                    <div class="souhaitTech">
                                        <h1 class="sousItem2">Souhait de départ :</h1>
                                        <f:view>
                                            <pou:selectOneRadio styleClass="choixDepart">
                                                <f:selectItem itemLabel="Oui" itemValue="1"/>
                                                <f:selectItem itemLabel="Non" itemValue="2"/>
                                            </pou:selectOneRadio>
                                        </f:view>
                                    </div>
                                    <div class="departDateTech">
                                        <h1 class="sousItem2">Date de départ :</h1>
                                        <f:view>
                                            <pou:calendar styleClass="calendar" value="#{TechnicienDTO.dateDepart}" navigator="true" disabledWeekends="true" />
                                        </f:view>
                                    </div>
                                </pou:panel> 
                            </div>
                        </div>  
     
                        <div id="tableauProduitsDiv">
                            <h1 class="item">2. Création de la fiche des compétences du technicien :</h1>
                            <div id="panelTableau">
                                <pou:dataTable id="produitTable" var="varTechnique" value="#{TechniqueBDD.techniques}" style="width: 1010px; margin-left: 3px;" paginator="true" rows="20" rowsPerPageTemplate="5,10,15" >
     
                                    <pou:column id="produitColumn" headerText="Produits" style="width: 300px;" styleClass="columnTable" filterBy="#{varTechnique.nom_technique}">
                                        <h:outputText value="#{varTechnique.nom_technique}"  />
                                    </pou:column>
     
                                    <pou:column id="domaineColumn" headerText="Domaines" style="width: 200px; text-align: center;" filterBy="#{varTechnique.id_domaine}">
                                        <h:outputText value="#{varTechnique.id_domaine}" />
                                    </pou:column>
     
                                    <pou:column id="competenceColumn" headerText="Compétence" style="width: 200px; text-align: center;" >
                                        <pou:rating stars="5" />
                                    </pou:column>
     
                                </pou:dataTable>
                            </div>
                        </div>
     
                        <div id="confirmButton">
                            <h1 class="item">3. Confirmer la création du nouveau technicien :</h1>
                            <div id="panelConfirm">
                                <pou:commandButton value="Enregistrer le nouveau technicien" action="#{AjoutTechnicienControleur.methode()}" styleClass="enregistrerButton"/>
                            </div>
                        </div>
     
                    </h:form>     
                </ui:define>
    Merci de votre aide.
    Fred

  6. #6
    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
    Bonjour,
    Quand tu dis que rien ne passe, c'est quoi la trace d'erreur? Peux tu nous la poster? Je veux bien aussi l'entête complete de tes 2 controleurs, c'est pour voir les noms des packages dans lesquels appartiennent tes classes.

  7. #7
    Membre actif
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 23
    Par défaut
    Citation Envoyé par DevServlet Voir le message
    La meilleure façon de comprendre les bases c'est de lire. Je te conseille vivement de prendre le temps de lire ce tutoriel. Tu pourras revenir vers nous après.
    Bonjour à Tous, je débute aussi en JSF et je voulais aller voir le tutoriel en question mais malheureusement le lien est mort. Auriez vous connaissance du nouveau lien. Pour moi aussi le<p:commandLink> et <p:commandButon> ne fonctionne pas.

    Merci à vous

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/04/2010, 12h46
  2. Eclipse, JSF et faces-config.xml
    Par kohan95 dans le forum Eclipse
    Réponses: 0
    Dernier message: 16/12/2009, 20h34
  3. Réponses: 11
    Dernier message: 29/07/2009, 10h31
  4. validateur et faces-config.xml
    Par cterra dans le forum JSF
    Réponses: 2
    Dernier message: 26/02/2007, 18h42
  5. Parseur de faces-config.xml ne se connecte pas
    Par MrDuChnok dans le forum JSF
    Réponses: 6
    Dernier message: 24/11/2006, 09h17

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