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 :

ExternalContext est null


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2008
    Messages : 36
    Par défaut ExternalContext est null
    Dans une classe java j'obtiens une erreur au niveau de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExternalContext ECtx=FacesContext.getCurrentInstance().getExternalContext();
    il me dis que c du null.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    java.lang.NullPointerException

  2. #2
    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
    une classe normale, un bean géré par JSF?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2008
    Messages : 36
    Par défaut ExternalContext est null
    cette ligne est crée dans une classe normale.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Décembre 2008
    Messages : 36
    Par défaut
    Je travaille avec un dynamique projet web en java avec IDE Eclipse 3.3.2.
    Le nom d'utilisateur est enregisté au niveau du fichier web.xml.
    j'ai utilisé ServletContextListener et HttpSessionListener pour pouvroir récupérer le nom d'utilisateur depuis le fichier web.xml.
    Exemple:
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    import javax.servlet.*;
    import javax.servlet.http.HttpSession;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
     
    public  class C_TestListener implements ServletContextListener,HttpSessionListener   
    {
     
      String Av_Test;
     
     
      /*This method is invoked when the Web Application has been removed 
      and is no longer able to accept requests
      */
     
      public void contextDestroyed(ServletContextEvent event)
      {
        //Output a simple message to the server's console
        System.out.println("The Simple Web App. Has Been Removed");
     
      }
     
     
      //This method is invoked when the Web Application
      //is ready to service requests
     
      public void contextInitialized(ServletContextEvent event)
      {
    	  event.getServletContext().setAttribute("N_User",event.getServletContext().getInitParameter("Nom_Utilisateur"));
    	  Av_Test=(String)event.getServletContext().getAttribute("N_User");
        //Output a simple message to the server's console
    	  System.out.println("The Simple Web App. Is Ready");
     
      }
      public void sessionCreated(HttpSessionEvent sessionEvent) 
    	{
    		// Get the session that was created
    	  HttpSession session = sessionEvent.getSession();
    		// Store something in the session, and log a message
    		try {
    		session.setAttribute("NUser",Av_Test);
    		System.out.println("Le nom d'utilisateur est : " + session.getAttribute("NUser"));
    		} catch (Exception e) {
    		System.out.println("Error in setting session attribute: " + 
    		e.getMessage());
    		}
    	}
    	public void sessionDestroyed(HttpSessionEvent sessionEvent) 
    	{
    		// Get the session that was invalidated
    		HttpSession session = sessionEvent.getSession();
    		// Log a message
    		System.out.println("Session invalidated: "+session);
    	}
    }
    Ce que je veux est de récupérer la valeur de la session dans une classe de puis la classe "C_TestListener".
    Au niveau de la 2ème classe j'ai tester ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession().getServletContext().getAttribute("NUser"));
    Mais il trouve que du null.
    C'est quoi la solution pour ce problème.

  5. #5
    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
    si le bean est géré par JSF, tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    FacesContext context = FacesContext.getCurrentInstance().getCurrentInstance();
    Bean bean = (Bean) context.getExternalContext().getSessionMap().get("NomBean");

Discussions similaires

  1. Window.opener est null ?
    Par TekP@f dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 25/08/2005, 17h51
  2. ma variable IDirect3DDevice9 est nulle
    Par 180degrés dans le forum DirectX
    Réponses: 8
    Dernier message: 19/08/2005, 20h46
  3. Réponses: 19
    Dernier message: 26/01/2005, 10h41
  4. pb de jointure : cas ou une clé étrangère est à NULL
    Par tiboleo dans le forum Langage SQL
    Réponses: 4
    Dernier message: 19/11/2004, 11h31
  5. Tester si un champ est NULL
    Par titititi007 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/06/2003, 10h17

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