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

Servlets/JSP Java Discussion :

GetResultList JSP Glassfish


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Par défaut GetResultList JSP Glassfish
    Bonjour,

    Je travail sous eclipse, glassfish 4.0, JSF, une base de données SQL Server afin de développer une application web.
    J'ai une question simple :

    j'ai une table utilisateur sur laquelle j'ai un champ EtatUtilisateur de type boolean.

    Quand j’insère les données tous va bien car j'utilise un menu déroulant sur ma page (vue) avec value (true / false) mais quand j'affiche j'utilise Actif / Inactif.

    Je voudrais que quand j'affiche les données de ma table j'ai actif ou inactif au lieu de true or false. voici la fonction qui récupère les données:

    Code JAVA : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	public List<Utilisateur> afficher_user() throws DAOException {
     
    		try {
     
    			TypedQuery<Utilisateur> sql = em.createQuery("SELECT u FROM Utilisateur u", Utilisateur.class);
    			return sql.getResultList();
    		} catch ( DAOException e ) {
    			throw new DAOException( e );
    		}
     
     
    	}

    J'ai essayé dans mon entity (getter) de mettre comme ceci:

    Code JAVA : 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
     
    	public String getUserEtat() {
    		try{
    			if(userEtat.equals("True")) {
    				userEtat = "Actif";
    			} else if (userEtat.equals("False")) {
    				userEtat = "Inactif";
    			}
    		} catch (Exception e ){
    		}
     
     
    		return userEtat;
    	}
    	public void setUserEtat(String userEtat) {
    		this.userEtat = userEtat;
    	}

    Mais il semblerait que getResultList utilise pas ce getter pour rempli le List.

    Comment faire pour afficher Actif quand c'est True et Inactif quand c'est False?

    Je sais qu'il est possible de traiter ceci sur la vue mais je ne sais pas si c'est la bonne manière de faire les choses (je préfère perdre du temps et d'avoir quelque chose de parfait que d'aller trop vite pour une solution pas super).
    Merci d'avance.

  2. #2
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Bonjour,

    Le plus simple c'est d'afficher l'état sur une colonne de checkbox en mettant l'en-tête "Actif".

    Plus tordu: ajouter une variable à la classe Utilisateur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    @Transient
        private String etatPourAffichage;
        ....
        // getter, setter
    et dans le ManagedBean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void setEtatEnTantQueChaineDeCaracteres(List<Utilisateur> users){
           for (Utilisateur u : users) {
                if (u.userEtat.equals("True")) { 
                       u.setEtatPourAffichage("Actif");
                } else {
                       u.setEtatPourAffichage("Inactif");
                }
          }
    }
    Sur la colonne "État" de la table sera affichée la propriété u.etatPourAffichage.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ce qui serait encore plus simple, ce serait de passer par un texte conditionnel dans ta page
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <h:outputText value="Actif" rendered="#{"True".equals(item.userEtat)}"/>
    <h:outputText value="Inactif" rendered="#{"False".equals(item.userEtat)}"/>
    Ceci dit, ce serait mieux d'avoir un vrai type boolean ou Boolean plutôt que String pour ce genre de donnée...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Traductrice
    Avatar de Mishulyna
    Femme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Ceci dit, ce serait mieux d'avoir un vrai type boolean ou Boolean plutôt que String pour ce genre de donnée...
    Beaucoup mieux, effectivement!

    Mon code ci-dessus est l'adaptation d'un cas où je devais afficher des dates, avec la possibilité de filtrer et ordonner par date sur une colonne d'une p:dataTable.

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2013
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2013
    Messages : 117
    Par défaut
    Merci Mishulyna et OButterlin.

    J'ai opté pour la solution de OButterlin.

    merci pour votre aide.

    a++

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

Discussions similaires

  1. Déployer une application JSP avec GlassFish sur un serveur FTP
    Par farid69 dans le forum Glassfish et Payara
    Réponses: 0
    Dernier message: 12/02/2013, 21h05
  2. Réponses: 3
    Dernier message: 01/06/2011, 23h31
  3. Déployé JSP sous GlassFish 3
    Par Yakuzan dans le forum NetBeans
    Réponses: 1
    Dernier message: 12/12/2010, 04h39
  4. Glassfish (v3) : Chargement JSP impossible
    Par if_zen dans le forum JSF
    Réponses: 0
    Dernier message: 01/04/2010, 10h21
  5. Réponses: 0
    Dernier message: 27/04/2006, 12h00

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