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 :

Gerer les beans visibles depuis les jsf


Sujet :

JSF Java

  1. #1
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Gerer les beans visibles depuis les jsf
    Bonjour

    Je viens de commencer dans JSF2, sachant que je ne connais pas encore beaucoup de choses au developpement web. Pour me faire la main j'essaie de creer une page qui demande à l'utilisateur login et password, ces champs devraient etre valides, puis je recupere un utilisateur dans la DB et je presente ses informations sur une page.

    Voici la page initiale index.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <h:body>
    	<h:form>
    		<h:outputLabel for="username">Username:</h:outputLabel>
    		<h:inputText id="username" value="#{credentialsBean.username}" />
    		<h:outputLabel for="password">Password:</h:outputLabel>
    		<h:inputText id="password" value="#{credentialsBean.password}" />
    		<h:commandButton value="Login" action="#{credentialsBean.logme}"/>
    	</h:form>
    </h:body>
    Le code de CredentialBean.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
     
    @ManagedBean
    @RequestScoped
    public class CredentialsBean
    {
    	private String username;
    	private String password;
    	@ManagedProperty(value="#{userManager}") 
    	private UserManager userManager;
     
    	public String logme()
    	{
    		UserBean user = userManager.getUser(username);
    		// TODO check password
    		return "login";
    	}
    	// ... et tous les gsetters
     
    }
    ce que je n'appréhende pas bien c'est comment faire en sorte que mon objet "user" soit accessible depuis ma page login.xhtml via le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:body>
            <h4>Welcome #{userBean.name}</h4>
    </h:body>
    Après ce n'est peut etre pas la bonne manière de faire, mais je veux justement m'améliorer

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 120
    Points
    120
    Par défaut
    tout simplement en faisant #{credentialsBean.user.name}. Ne pas oublier de déclarer les getter setter dans credentialsBean pour ton objet UserBean.

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Les beans sont géré par JSF. Autrement dit quand tu fait #{userBean}, c'est JSF qui qui crée cet objet. Si tu veux le créer toi même, ce ne doit pas être un bean JSF:

    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
    @ManagedBean
    @SessionScoped
    public class CredentialsBean
    {
    	private String username;
    	private String password;
            private UserBean user;
    	@ManagedProperty(value="#{userManager}") 
    	private UserManager userManager;
     
    	public String logme()
    	{
    		UserBean user = userManager.getUser(username);
    		// TODO check password
                    this.user=user;
    		return "login";
    	}
    	// ... et tous les gsetters
     
    }
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <h:body>
            <h4>Welcome #{credentialsBean.user.name}</h4>
    </h:body>

  4. #4
    Candidat au Club
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Ok je comprends mieux merci a tous les 2!

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

Discussions similaires

  1. Lister les disques durs USB, les clés ainsi que les appareils photos
    Par infosam76 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 25/02/2015, 23h26
  2. Master Page par defaut non visible depuis les profils utilisateurs
    Par jubourbon dans le forum Développement Sharepoint
    Réponses: 4
    Dernier message: 24/09/2012, 14h51
  3. [XL-2003] masquer les colonnes dont toutes les cellules VISIBLES ont leur valeur="N"
    Par sylvaine dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 04/03/2011, 11h57
  4. Réponses: 0
    Dernier message: 27/07/2009, 15h28
  5. Netbeans, les Bean form et les fichiers .form
    Par fatypunk dans le forum NetBeans
    Réponses: 1
    Dernier message: 26/01/2009, 17h42

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