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 :

[Primefaces] Problème framework JSF


Sujet :

JSF Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut [Primefaces] Problème framework JSF
    Bonjour, je développe une application j2ee avec le framework JSF et la bibliothèque primesfaces + framework hibernate et MySQL comme BD

    Pour simplifier le problème j'ai 2 pages xhtml : 1 page pour créer un utilisateur ds la table Utilisateur et 1 page qui affiche tous les utilisateurs de la BD ds un tableau de la bibliothèque primefaces. alors j'ajoute un nouveau utilisateur, tous ca marche bien je verifie ds la BD il est bien créé apres je consulte l'autre page l'utilisateur ajouter est bien afficher ds le tableau ms qd j'actualise la page l'utilisateur est disparu on m'affiche que les utilisateurs qui étaient avant, et si j'actualise une 2eme fois il est de nouveau afficher et ainsi de suite.

    je crois que le problème concerne ajax et la mise en cache ms j'ai ajouter ces 2 ligne ds la page xhtml pr qu'il ne garde pas les données en cache

    <meta http-equiv="pragma" content="no-cache" />

    <meta http-equiv="Expires" content="-1" />

    ms le problème est toujours le meme

    s'il vous plait si qlq'un aura une idée qui pourra m'expliquer ce problème je vous en serais très reconnaissant, merci d'avance.

  2. #2
    Membre éprouvé Avatar de Lady
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2003
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 678
    Points : 909
    Points
    909
    Par défaut
    Il nous faudrait le code du bean que ta page jsf appel. Quel scope a t'il ? comment met tu à jour te donnée dans ce bean ? comment y accède tu ?
    Je pense que le problème est coté serveur et non coté client.
    Informaticienne le jour, créatrice de bijoux la nuit (https://www.facebook.com/La-Fée-Chro...07539656306271) et maman à plein temps !

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Merci Lady pr votre réponse, de quel bean tu parle ? celle du page d'ajout ou de consultation?

    les 2 beans utilisent l'annotation @ViewScoped

    le bean de la consultation contient en resumé ce 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
    @ManagedBean
    @ViewScoped
    public class ListeUtilisateursBean implements Serializable {
     
        private static final long serialVersionUID = 1L;
        private List<UtilisateurModel> utilisateurs;
        private List<UtilisateurModel> filteredUtilisateurs;
     
        public ListeUtilisateursBean(){
     
        	utilisateurs = UtilisateurBO.findAllUsers();
        }
     
        // les getters et setters 
    }
    je ne voix aucune problème coté serveur

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il faudrait le code des 2 pages... et si possible le code complet des tes managedBean.
    Le problème est forcément serveur mais par contre, vu le code que tu montres, difficile de dire ce qui coince. Tu parles d'ajax mais bon...

    Pour rappel, le ViewScope permet de garder la même instance du managedBean tant que tu ne quittes pas la page.
    Dans ton cas, d'après ce que j'en comprends, tu as une page avec la liste et une autre avec le "détail". A chaque fois que tu quittes une page, son managedBean sera supprimé. Si ton détail faisait partie de la même page mais était affiché sous forme de dialog, là, tu garderais le même bean.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour OButterlin, merci pr votre réponse
    je ne voix pas ce que tu veux dire par détail , j'ai dit que j'ai dit q j'ai 2 pages une contient un formulaire a remplir pr ajouter un utilisateur qd j click sur ajouter
    et une autre complètement différente qui contient un tableau qui affiche la liste des utilisateurs ds la BD.

    l'autre bean contient

    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
     
    @ManagedBean
    @ViewScoped
    public class AjouterUtilisateurBean implements Serializable{
     
    	private static final long serialVersionUID = 1L;
     
    	private int idCompte;
     
    	private UtilisateurModel utilisateur = new UtilisateurModel();
     
            private final HttpServletRequest httpServletRequest;
    	private final FacesContext facesContext;
    	private FacesMessage facesMessage;
    	private ExternalContext externalContext;
     
     
    	public AjouterUtilisateurBean() throws IOException {
     
    		facesContext = FacesContext.getCurrentInstance();
    		httpServletRequest = (HttpServletRequest) facesContext.getExternalContext().getRequest();
     
    		verifierSession();
    	}
     
            public String ajouterUtilisateur() {
     
    		String resultat = UtilisateurBO.ajouterUtilisateur(utilisateur , idCompte);
     
     
    			if(resultat == "SUCCESS"){
     
    			FacesMessage msg = new FacesMessage("L'utilisateur a été ajouté avec succès." );
    			FacesContext.getCurrentInstance().addMessage(null, msg);
     
    			return "ajouterUtilisateur";
     
    			}
    			else{
     
    			FacesMessage msg = new FacesMessage("Désolé, l'utilisateur n'a pas pu être ajouté." );
    			FacesContext.getCurrentInstance().addMessage(null, msg);
    			return "";
    			}
     
    	}

    je ne voix pas le probleme si je met ViewScoped tant qui'il s'agit de 2 beans differents

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Avec Primefaces, si tu ne fais pas de redirection, tu peux avoir ce phénomène (un coup je t'ai, un coup je ne t'ai plus)...
    Regarde de ce côté, dans tous les cas, si tu ne montres ni les pages ni le faces-config.xml ni le code impliqué, difficile de t'aider.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour OButterlin, merci pr votre réponse, ms j'ai pas bien compris de ce que tu veux dire par si tu ne fait pas de redirection ???

    concernant les pages, q c que j dois vous montrer j'ai deja afficher les beans

    voici la page ajouterUtilisateur.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
    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
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
     
     
    <!DOCTYPE html >
     
     
    <html xmlns="http://www.w3.org/1999/xhtml" 
    	   xmlns:f="http://java.sun.com/jsf/core" 
           xmlns:h="http://java.sun.com/jsf/html"
           xmlns:ui="http://java.sun.com/jsf/facelets"
           xmlns:p="http://primefaces.org/ui">
     
      <h:head>
     
     
           <h:title >Ajout d'un utilisateur</h:title>
     
           <h:outputStylesheet library="resources" name="css/style.css"  />
     
           <f:loadBundle basename="messages" var="msg"/>
     
    		<meta http-equiv="pragma" content="no-cache" />
    		<META HTTP-EQUIV="Expires" CONTENT="-1" />
        </h:head>
     
    	<h:body>
     
    		<ui:composition template="../template.xhtml">
     
     				<ui:define name="contenu">
     
     
                    <h1>Ajout d'un nouveau utilisateur :</h1>
                        	<div style="float:left" id="d1">
    						<br/><br/>
     
     
    							<h:form id="formulaire">
     
    							  <p:growl id="messages" />
     
     
    							    <h:outputLabel for="nom"  value="#{sessionUtilisateur}"  ></h:outputLabel>
    							      <dl>
                                      	<dt>
                                        	<h:outputLabel for="nom">Nom </h:outputLabel>
     
                                        </dt>
                                        <dd>
                                        	<p:inputText id="nom" value="#{ajouterUtilisateurBean.utilisateur.nom}" required="true"   requiredMessage="Veuillez saisir un nom"  size="25" maxlength="60"  >
                                        		<f:ajax event="blur" render="nomMessage" />
                                        	</p:inputText>
    	        							<h:message id="nomMessage" for="nom" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                      </dl>
     
     
     
                                      <dl>
                                    	<dt>
                                        	<h:outputLabel for="prenom">Prénom </h:outputLabel>
                                        </dt>
                                        <dd>
                                        	<p:inputText id="prenom" value="#{ajouterUtilisateurBean.utilisateur.prenom}" required="true"   requiredMessage="Veuillez saisir un prénom"  size="25" maxlength="60" >
                                        		<f:ajax event="blur" render="prenomMessage" />
                                        	</p:inputText>
    	        							<h:message id="prenomMessage" for="prenom" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                      </dl>
     
    							      <dl>
                                    	<dt>
    							        	<h:outputLabel for="genre"  >Genre</h:outputLabel>
    							        </dt>
    							        <dd>
    								        <p:selectOneMenu id="genre" value="#{ajouterUtilisateurBean.utilisateur.genre}" required="true"   requiredMessage="Veuillez sélectionnez le genre"  style="width:210px">
     
     
    								                <f:selectItem itemLabel="Sélectionnez" itemValue="" />
    							                    <f:selectItem itemLabel="Homme"        itemValue="Homme"/>
    							                    <f:selectItem itemLabel="Femme"        itemValue="Femme"/>
    							                    <f:selectItem itemLabel="Demoiselle"   itemValue="Demoiselle" />
     
    								        </p:selectOneMenu>
    								        <h:message id="genreMessage" for="genre" errorClass="erreur" errorStyle="color:red;list-style:none;" />
     
    							        </dd>
    							      </dl>
     
    							      <dl>
                                       	<dt>
                                         	<h:outputLabel for="profil">Profil </h:outputLabel>
                                        </dt>
                                        <dd>
                                        	<p:selectOneMenu id="profil" value="#{ajouterUtilisateurBean.utilisateur.profil}" required="true"   requiredMessage="Veuillez sélectionnez le profil"  style="width:210px">
     
    								               <f:selectItem itemLabel="Sélectionnez"                                       itemValue=""  />
    							                   <f:selectItem itemLabel="Chef du service informatique"                       itemValue="Chef du service informatique" />
    								               <f:selectItem itemLabel="Chef du service logistique"                         itemValue="Chef du service logistique" />
    								               <f:selectItem itemLabel="Directeur"                                          itemValue="Directeur" />
    								               <f:selectItem itemLabel="Responsable du pointage et de l'inventaire"         itemValue="Responsable du pointage et de l'inventaire" />
    								               <f:selectItem itemLabel="Responsable du matériels d'habillements"            itemValue="Responsable du matériels d'habillements" />
    								               <f:selectItem itemLabel="Responsable du matériels de fourniture de bureau"   itemValue="Responsable du matériels de fourniture de bureau" />
    								               <f:selectItem itemLabel="Responsable du matériels médicaux-téchniques"       itemValue="Responsable du matériels médicaux-téchniques" />
    								               <f:selectItem itemLabel="Secrétaire du service logistique"                   itemValue="Secrétaire du service logistique" />
     
    								        </p:selectOneMenu>   
    								        <h:message id="profilMessage" for="profil" errorClass="erreur" errorStyle="color:red;list-style:none;" />      
                                       	 </dd>
                                      </dl>
     
    							      <dl>
                                    	<dt>
                                        	<h:outputLabel for="telephone">Téléphone </h:outputLabel>
                                        </dt>
                                        <dd>
                                        	<p:inputMask id="telephone" value="#{ajouterUtilisateurBean.utilisateur.telephone}" required="true" requiredMessage="Veuillez sélectionnez un numéro de téléphone"  mask="(09) 99-99-99-99" size="25" maxlength="60" >
     
                                        		<f:ajax event="blur" render="telephoneMessage" />
                                        		<f:validator validatorId="ma.chuoujda.gestion.stock.validators.ExistenceTelephoneValidator" />
                                        	</p:inputMask>
    	        							<h:message id="telephoneMessage" for="telephone" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                    </dl>
     
                                    <dl>
                                    	<dt>
                                        	<h:outputLabel for="email">Email </h:outputLabel>
                                        </dt>
                                         <dd>
                                        	<p:inputText id="email" value="#{ajouterUtilisateurBean.utilisateur.email}" required="true"   requiredMessage="Veuillez saisir un adresse Email"  size="25" maxlength="60" >
                                        		<f:ajax event="blur" render="emailMessage" />
                                       			<f:validator validatorId="ma.chuoujda.gestion.stock.validators.ExistenceEmailValidator" />
                                        	</p:inputText>
    	        							<h:message id="emailMessage" for="email" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                    </dl>
     
     
    							    <dl>
                                    	<dt>
                                        	<h:outputLabel for="login">Nom d'utilisateur </h:outputLabel>
                                        </dt>
                                        <dd>
                                        	<p:inputText id="login" value="#{ajouterUtilisateurBean.utilisateur.login}" required="true"   requiredMessage="Veuillez saisir un nom d'utilisateur" size="25" maxlength="60"  >
                                        		<f:ajax event="blur" render="loginMessage" />
                                        		<f:validator validatorId="ma.chuoujda.gestion.stock.validators.ExistenceLoginValidator" />
                                        	</p:inputText>
    	        							<h:message id="loginMessage" for="login" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                    </dl>
     
    							    <dl>
                                    	<dt>
                                       		<h:outputLabel for="password">Mot de passe </h:outputLabel>
                                        </dt>
                                       <dd>
                                         	<p:password id="password" value="#{ajouterUtilisateurBean.utilisateur.password}" binding ="#{composantMotDePasse}" required="true"   requiredMessage="Veuillez saisir un mot de passe" feedback="true" size="25" maxlength="60"   >
                                        		<f:ajax event="blur" execute="password2 password" render="passwordMessage" />
                                        	</p:password>
    	        							<h:message id="passwordMessage" for="password" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                    </dl>
     
                                    <dl>
                                    	<dt>
                                       		<h:outputLabel for="password2">Retapez le mot de passe </h:outputLabel>
                                        </dt>
                                       <dd>
                                         	<p:password id="password2" value="#{ajouterUtilisateurBean.confirmedPassword}" required="true"   requiredMessage="Veuillez saisir un mot de passe" feedback="true" size="25" maxlength="60"   >
     
                                        		<f:ajax event="blur" execute="password2 password" render="password2Message" />
                                        		<f:attribute name="composantMotDePasse" value="#{composantMotDePasse}" />
                                        		<f:validator validatorId="confirmationPasswordValidator" />
                                        	</p:password>
    	        							<h:message id="password2Message" for="password2" errorClass="erreur" errorStyle="color:red;list-style:none;" />
                                   		</dd>
                                    </dl>
     
                                    <br/>
     
                                    <p style="border-bottom:2px solid #eee"></p>
                                    <br/>
     
     
    							    <dl>
     
                                        <dt> 
     
                                        </dt>
     
                                        <dd>
                                            <p:commandButton value="Annuler" action="ajouterUtilisateur" update="formulaire" styleClass="sansLabel" />
                                            <p:commandButton value="Ajouter" action="#{ajouterUtilisateurBean.ajouterUtilisateur()}" update="formulaire" styleClass="sansLabel" />
                                        </dd>
                                    </dl>
    							 	<br/><br/>
     
     
    							</h:form>
     
    						</div>	
     
     
    				<br clear="all" />
     
            		</ui:define>
     
    		</ui:composition>
     
    	</h:body>
    </html>

    j'ai déjà afficher le bean ajouterUtilisateurBean qui appelle cette méthode


    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
     
    @Override
    	public String ajouterUtilisateur(UtilisateurModel pvUtilisateur, int idCompte) {
     
     
    		Session session = HibernateUtils.openSession();
    		Transaction tx = null;
     
    		try {
     
    			tx = session.beginTransaction();
     
    			int id = 0;
     
    			id = (int) session.save(pvUtilisateur);
     
     
    			UtilisateurModel userCompte = UtilisateurBO.findUtilisateurById(idCompte);
    			Date dateSystem = new Date();
    			DateFormat shortDateFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT);
    			String date = shortDateFormat.format(dateSystem);
     
    			String detail = "L'utilisateur qui a l'id "+idCompte+" et le login "+userCompte.getLogin()+" a ajouté l'utilisateur qui a l'id "+id
    					+" et le login "+pvUtilisateur.getLogin()+" le "+date+" ";
     
    			HistoriqueUtilisateurModel historiqueUtilisateur = new HistoriqueUtilisateurModel(userCompte, pvUtilisateur, "Ajout", dateSystem, detail);
    			long idHistorique = (long) session.save(historiqueUtilisateur);
     
    			tx.commit();
     
    			if(id != 0 && idHistorique != 0){
     
    				return "SUCCESS";
    			}
    			else{
     
    				return "ERROR";
    			}
     
     
    		} catch (Exception e) {
    			if (tx != null) {
    				tx.rollback();
    			}
    			System.out.println("exeption ======= "+e.toString());
    			return "ERROR";
    		}	
    		finally{
    			session.close();
    		}
     
    	}

  8. #8
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Concernant l'autre page listeUtilisateur.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
    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
     
     
    <!DOCTYPE html >
     
    <html xmlns="http://www.w3.org/1999/xhtml" 
    	   xmlns:f="http://java.sun.com/jsf/core" 
           xmlns:h="http://java.sun.com/jsf/html"
           xmlns:ui="http://java.sun.com/jsf/facelets"
           xmlns:p="http://primefaces.org/ui">
     
      <h:head>
     
           <h:title>Liste des utilisateurs</h:title>
           <h:outputStylesheet library="resources" name="css/style.css"  />
     
           <meta http-equiv="pragma" content="no-cache" />
    	   <meta http-equiv="Expires" content="-1" />
     
        </h:head>
     
    	<h:body>
     
    		<ui:composition template="../template.xhtml">
     
     				<ui:define name="contenu">
     
     
                    <h1>Liste des utilisateurs :</h1>
                        	<div style="float:left" id="d1">
    						<br/>
    						<br/>
     
     
    							<h:form>
     
    								<p:growl id="messages" />
     
    								<p:dataTable var="utilisateur" value="#{listeUtilisateursBean.utilisateurs}" widgetVar="utilisateursTable"  scrollWidth="900" scrollable="true"
    							                 emptyMessage="Aucune résultat trouvé " filteredValue="#{listeUtilisateursBean.filteredUtilisateurs}" style="width:100%">
     
    							        <f:facet name="header">
    							            <p:outputPanel>
    							                <h:outputText value="Chercher par mot clé :" />
    							                <p:inputText id="globalFilter" onkeyup="PF('utilisateursTable').filter()" style="width:150px" placeholder="Entrer mot clé"/>
    							            </p:outputPanel>
    							        </f:facet>
     
     
     
    							        <p:column filterBy="#{utilisateur.nom}" headerText="Nom"  filterMatchMode="contains" sortBy="#{utilisateur.nom}" style="width:120px">
    							            <h:outputText value="#{utilisateur.nom}" />
    							        </p:column>
     
    							       <p:column filterBy="#{utilisateur.prenom}" headerText="Prenom"  filterMatchMode="contains" sortBy="#{utilisateur.prenom}" style="width:120px">
    							            <h:outputText value="#{utilisateur.prenom}" />
    							        </p:column>
     
    							        <p:column filterBy="#{utilisateur.login}" headerText="Login"  filterMatchMode="contains" sortBy="#{utilisateur.login}" style="width:120px">
    							            <h:outputText value="#{utilisateur.login}" />
    							        </p:column>
     
    							       <p:column filterBy="#{utilisateur.telephone}" headerText="Téléphone"  filterMatchMode="contains" sortBy="#{utilisateur.telephone}" style="width:140px">
    							            <h:outputText value="#{utilisateur.telephone}" />
    							        </p:column>
     
    							        <p:column filterBy="#{utilisateur.email}" headerText="Email"  filterMatchMode="contains" sortBy="#{utilisateur.email}"  style="width:160px;">
    							            <h:outputText value="#{utilisateur.email}" />
    							        </p:column>
     
    							       <p:column filterBy="#{utilisateur.genre}" headerText="Genre"  filterMatchMode="contains" sortBy="#{utilisateur.genre}" style="width:120px">
     
    							       		<f:facet name="filter">
    							                <p:selectOneMenu onchange="PF('utilisateursTable').filter()" >
    							                    <f:selectItem itemLabel="Sélectionnez" itemValue="#{null}" noSelectionOption="true" />
    							                    <f:selectItem itemLabel="Homme"        itemValue="Homme" noSelectionOption="true" />
    							                    <f:selectItem itemLabel="Femme"        itemValue="Femme" noSelectionOption="true" />
    							                    <f:selectItem itemLabel="Demoiselle"   itemValue="Demoiselle" noSelectionOption="true" />
    							                </p:selectOneMenu>
    							            </f:facet>
    							            <h:outputText value="#{utilisateur.genre}" />
    							        </p:column>
     
    							       <p:column filterBy="#{utilisateur.profil}" headerText="Profil"  filterMatchMode="contains" sortBy="#{utilisateur.profil}" style="width:350px;">
     
    							       		<f:facet name="filter">
    							                <p:selectOneMenu onchange="PF('utilisateursTable').filter()" >
    							                   <f:selectItem itemLabel="Sélectionnez"                                       itemValue="#{null}" noSelectionOption="true" />
    							                   <f:selectItem itemLabel="Chef du service informatique"                       itemValue="Chef du service informatique" />
    								               <f:selectItem itemLabel="Chef du service logistique"                         itemValue="Chef du service logistique" />
    								               <f:selectItem itemLabel="Directeur"                                          itemValue="Directeur" />
    								               <f:selectItem itemLabel="Responsable du pointage et de l'inventaire"         itemValue="Responsable du pointage et de l'inventaire" />
    								               <f:selectItem itemLabel="Responsable du matériels d'habillements"            itemValue="Responsable du matériels d'habillements" />
    								               <f:selectItem itemLabel="Responsable du matériels de fourniture de bureau"   itemValue="Responsable du matériels de fourniture de bureau" />
    								               <f:selectItem itemLabel="Responsable du matériels médicaux-téchniques"       itemValue="Responsable du matériels médicaux-téchniques" />
    								               <f:selectItem itemLabel="Secrétaire du service logistique"                   itemValue="Secrétaire du service logistique" />
    							               </p:selectOneMenu>
    							            </f:facet>
    							            <h:outputText value="#{utilisateur.profil}" />
    							        </p:column>
     
     
     
     
     
     
    							    </p:dataTable>
    							</h:form>
     
    				</div>	
     
     
    				<br clear="all" />
     
            		</ui:define>
     
    		</ui:composition>
     
     
     
    </h:body>
    </html>

    le bean j l'ai déjà afficher il appel la méthode findAllUsers();




    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
     
     
    @Override
    	public List<UtilisateurModel> findAllUsers() {
     
     
    		Session session = HibernateUtils.openSession();
    		List<UtilisateurModel> utilisateurs = new ArrayList<UtilisateurModel>();
     
    		try {
     
    			Query query = session.createQuery("from UtilisateurModel where vivant=:paramvivant order by nom");
    			query.setBoolean("paramvivant", true);
     
    		    utilisateurs = query.list();
     
    			return utilisateurs;
     
    		}catch(Exception e){
     
    			System.out.println(e.toString());
    			return utilisateurs;
    		}
    		finally {
    			session.close();
    		}
     
    	}
    tu ma dit aussi faces-config.xml ce fichier je ne l'utilise pas ds la version que j'utilise

  9. #9
    Membre actif
    Homme Profil pro
    Développeur Java/JavaEE
    Inscrit en
    Août 2014
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java/JavaEE

    Informations forums :
    Inscription : Août 2014
    Messages : 194
    Points : 290
    Points
    290
    Par défaut
    Bonjour,

    Ton code semble correcte, mais dis moi si tu ajoute deux utilisateurs successivement c'est toujours avec le dernier utilisateurs que ça se produit ? c'est à dire que l'avant dernier enregistrement figure toujours dans ton tableau avec l'absence du dernier enregistrement?

  10. #10
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour, merci pr votre réponse Maine13, j'ai essayé d'ajouter 2 utilisateurs successive et le problème et pr les 2 cad si j vais ds la page liste utilisateurs je trouve pas les 2 et si j'actualise les 2 sont afficher et si j'actualise une 2eme fois les 2 sont disparus (les autres utilisateurs ajoutés avant ne changent pas )
    j'ajoute que le problème ne se règle que si je recharge le contexte avec clean project ou arrêter le serveur et redémarrer

  11. #11
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 8
    Points : 3
    Points
    3
    Par défaut
    Bonjour, qlq'1 pourrais t'il m'expliquer un peu le cache hibernate ?????

Discussions similaires

  1. Réponses: 22
    Dernier message: 25/11/2014, 05h20
  2. Réponses: 3
    Dernier message: 22/10/2012, 13h58
  3. [PrimeFaces] Problème CSS deux Panel JSF 2
    Par fou-jea dans le forum JSF
    Réponses: 4
    Dernier message: 06/10/2012, 20h35
  4. Réponses: 1
    Dernier message: 10/08/2012, 00h31
  5. Problème avec JSF 1.2 + JBoss 4.2.2.GA
    Par sofien dans le forum JSF
    Réponses: 20
    Dernier message: 12/02/2008, 08h51

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