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 :

Initialisation d'une classe au démarage de l'application


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut Initialisation d'une classe au démarage de l'application
    Bonjour,

    Je souhaiterai savoir s'il est possible en JSF 2.0 d'initialiser une classe (en scope application) au démarrage de l'application et si oui, comment?

    J'ai cherché dans la faq ainsi que sur google, sans succès (je dois mal m'y prendre, j'avoue...)

    D'avance, merci.

  2. #2
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    Comme toute application web tu peux l'initialiser comme ceci
    A standard (old) way is to code a Servlet which takes care of initialization stuff in its init() method. You force it to be initialized at application start by adding a load-on-startup positive value in your web.xml
    ou encore comme ceci
    Usually for Web initialization and shutdown, you will write a ServletContextListener.

    The steps to do this are:

    1. Write a class that implements javax.Servlet.ServletContextListener
    2. Add a tag to web.xml deployment descriptor to register the class you've just created
    3. Deploy your application

    When you deploy your application, contextInitialized method will be called. You can place all initialization you want here. On application shutdown contextDestroyed method will be called.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Tout d'abord, merci pour votre réponse.

    Je fais face à un autre problème: Je souhaite que la méthode contextInitialized de mon ServletContextListener puisse ajouter une classe en scope application. Cependant, FacesContext.getCurrentInstance(); me renvoie null.

    Est ce normal? Y'a t'il un moyen de contourner cela?

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Ouii le faces context n'est pas disponible dans context servlet, il y'a un autre moyen,
    il suffit dans la première page affiché par l'application, faire une référence au ce bean là avec les EL; le bean sera créer avant l'affichage et reste dans son scope.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 87
    Par défaut
    Après avoir farfouillé un peu plus avec Google, je suis tombé sur ce post:

    http://stackoverflow.com/questions/3...xt-initialized

    Le posteur original semble avoir la même problématique que moi et la réponse qui a été apporté à fonctionner pour moi.

    Pour résumer, il suffit de faire un truc du genre: event.getServletContext().setAttribute(FOO, myObject);

    dans la méthode contextInitialized();


    Merci pour votre aide!

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

Discussions similaires

  1. initialisation d'une classe
    Par stracoma dans le forum C++
    Réponses: 4
    Dernier message: 02/04/2015, 16h57
  2. Probleme d'initialisation dans une classe
    Par AirSounet dans le forum Débuter
    Réponses: 5
    Dernier message: 27/06/2011, 16h50
  3. Initialiser une référence membre d'une classe
    Par NicolasJolet dans le forum C++
    Réponses: 2
    Dernier message: 18/03/2006, 12h14
  4. [Debutant] Initialisation d'une classe
    Par etiennegaloup dans le forum Débuter
    Réponses: 5
    Dernier message: 09/01/2006, 22h12
  5. Réponses: 10
    Dernier message: 24/09/2005, 19h19

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