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 :

passage de paramètres par session


Sujet :

JSF Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut passage de paramètres par session
    Bonjour,

    débutant en JSF je ne saisis pas bien le passage de paramètres par session.
    En fait voila mon problème :
    - dans la Page1.jsp je demande le login et le mot de passe de la personne.
    - dans page1.java je fais une requête à ma bdd et vérifie le mot de passe et je trouve la fonction de la personne.
    - dans la page2.jsp je veux afficher la fonction.

    J'ai une petite expérience d'asp.net où dans le C# on créait une variable de session dans la page1.

    Si j'ai bien compris avec java il faut utiliser un managedBean, mais comment le récupérer dans dans page2.java?

    Merci.

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    En ce qui concerne JSF, tu peux jouer avec le scope des beans.
    Les plus communs sont request et session.
    En gros, ça détermine la durée de vie du bean.
    Quand tu as un bean request, ce bean sera réinitialisé à chaque request.
    Quand tu as un bean session, les informations qui y sont contenues seront disponibles tout au long de la session de l'utilisateur (tu peux cependant le réinitialiser manuellement)...
    (vivement le scope view dans JSF 2.0)
    Tu peux ainsi, dans ton cas, utiliser un bean request pour la gestion du formulaire, bean qui transférera au bean session l'information de l'utilisateur courant *

    Est-ce plus clair ?

    * Il peut être "facile" de passer tous ses beans en mode session, ça allège le travail dans certains cas, mais ça devient très vite gourmand en ressources serveur, surtout avec beaucoup d'utilisateurs... Il convient donc d'utiliser ce scope avec parcimonie...

  3. #3
    Membre confirmé Avatar de heid
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    388
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Mai 2002
    Messages : 388
    Points : 597
    Points
    597
    Par défaut
    A noter que l'on peut déjà simuler un scope view (viewstate en asp.net) en utilisant un scope request et en appliquant un savestate tomahawk sur la proprieté que l'on souhaite conserver.

    On peut choisir de sauvegarder les valeur du scope coté client ou serveur.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Bonjour,

    merci pour vos réponses mais en fait cela ne m'aide pas vraiment. Quand je cherche sur le net je trouve comment utiliser un bean scope session dans le .jsp : #{SessionBean.login}
    La question que je me pose c'est comment l'utiliser dans le .java ?
    je ne peux pas taper : SessionBean.setFonction puisque c'est une classe. Que dois-je faire pour enregistrer le resultat de ma requête?

    En fait, pour être plus clair :
    - dans le .JSP
    textFieldLogin demande le login
    textFieldPass demande le mot de passe
    button1 est un bouton
    - dans le .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
    public String button1_action() {
            String pilote = "com.mysql.jdbc.Driver";
            try {
                Class.forName(pilote);
                Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/maBase", "util", "pass");
                Statement instruction = connexion.createStatement();
                ResultSet resultat = instruction.executeQuery("SELECT * FROM t_personne WHERE nom = '"+ textField1.getText() +"'");
                resultat.next();
     
                if (resultat.getString("mdp").equals(textField2.getText().toString())) {
                    SessionBean1.setFonction(resultat.getString("fonction")); // LE PROBLEME EST ICI : SessionBean1 est une classe pas une instance
                    return "case1";
                }
            } catch (Exception e) {
     
                System.out.println("echec pilote : " + e);
            }
     
            return "case2";
        }
    Edit : C'est plus mieux avec les balises CODE...

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Dans la FAQ, on t'explique comment récupérer un bean depuis le code Java...
    Ca devrait ainsi résoudre ton problème !

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Merci romaintaz, j'ai cherché cette info dans beaucoup de tutos, sans succès.
    c'est exactement ce que je cherchais.

  7. #7
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Si c'est le cas, il faut penser à !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Exact, voilà c'est fait.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 44
    Points : 27
    Points
    27
    Par défaut
    Résolu

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

Discussions similaires

  1. [C#] passage de paramètres par référence
    Par SesechXP dans le forum Windows Forms
    Réponses: 3
    Dernier message: 03/08/2006, 12h48
  2. Réponses: 19
    Dernier message: 09/06/2006, 10h03
  3. [C# .NET2] type de passage de paramètre par défaut
    Par gdkenny dans le forum Windows Forms
    Réponses: 4
    Dernier message: 26/04/2006, 10h55
  4. Le passage de paramètres par REFERENCES
    Par yohann_ dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 19h47
  5. [EJB] Passage des paramètres par référence
    Par salome dans le forum Java EE
    Réponses: 2
    Dernier message: 05/07/2005, 11h25

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