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

Spring Web Java Discussion :

Le contrôleur/ManagedBean de ma page d'accueil est par erreur en singleton. Comment donner la portée session ? [JSF]


Sujet :

Spring Web Java

  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut Le contrôleur/ManagedBean de ma page d'accueil est par erreur en singleton. Comment donner la portée session ?
    Bonjour,

    J'ai une question toute bête.
    La page d'accueil JSF 2 de mon site web est un .xhtml qui fait appel à un ManagedBean, qui débute ainsi :

    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
    /**
     * Contrôleur de la base web d'accueil.
     */
    @Component("accueil")
    @SessionScoped
    public class AccueilController extends AbstractController
    {
       /** Service d'installation. */
       @Autowired
       private InstallationService serviceInstallation;
     
       /** Code commune sélectionné par l'utilisateur. */
       private CodeCommune m_codeCommune;
     
       /** Code département sélectionné par l'utilisateur. */
       private CodeDepartement m_codeDepartement;
     
       /** Code région sélectionné par l'utilisateur. */
       private CodeRegion m_codeRegion;
    Son web.xml contient ces directives-ci, pour faire la liaison Spring ↔ JSF 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
     
        <listener>
            <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
        </listener>
    L'annotation @SessionScoped du ManagedBean est du monde JSF (javax.faces.bean.SessionScoped) et ne suffit pas à elle seule à lui donner la portée désirée.
    Spring le considère toujours comme de portée singleton, et je dois changer ceci rapidement.

    Faut-il que je place une directive en parallèle dans l'applicationContext.xml de mon application ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean id="accueil" class="fr.ardent.web.accueil.AccueilController" scope="session" />
    Mais dans ce cas, qui comprend quoi ?
    Spring ne va t-il pas produire une deuxième instance distincte du ManagedBean qui fera concurrence à celle que JSF 2 s'est produite pour lui ?
    Dois-je au contraire dégager le @SessionScoped que j'ai placé sur le ManagedBean parce qu'il n'est plus interprété ?

    Merci beaucoup !

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut
    Ah ! J'ai posé une question qui montre qui montre je suis en terre inconnue !
    Mais j'ai trouvé la réponse. Je vous la donne si jamais vous êtes amenés à utiliser JSF 2 avec Spring : je pensais que les deux étaient régulièrement employés ensemble, mais visiblement non.

    Il suffit de remplacer l'annotation @SessionScoped par @Scope("session")

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

Discussions similaires

  1. [MVC] Appel d'un Contrôleur au chargement de la page d'accueil
    Par PoichOU dans le forum Spring Web
    Réponses: 2
    Dernier message: 16/02/2014, 20h13
  2. Réponses: 3
    Dernier message: 31/01/2009, 17h28
  3. [ debutant ][ Tomcat ] La page d'accueil ne s'affiche pas
    Par zsoh dans le forum Tomcat et TomEE
    Réponses: 17
    Dernier message: 10/04/2005, 09h02

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