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 :

probleme managed bean en session


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut probleme managed bean en session
    Hello,

    J'ai besoin de passé un managed-bean qui a un scope request en session

    malheureusement lorsque je fais ceci j'obtiens une exception

    javax.servlet.jsp.JspException: Cannot get value for expression '#{sessionBean.searchAffaireBean.affaire.noAffaire}'

    Voici la définition de mon managed bean dans faces-config

    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
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
     
    	<managed-bean>
    	  <managed-bean-name>sessionBean</managed-bean-name>
    	  	<managed-bean-class>ch.btc.datec.yamina.web.SessionBean</managed-bean-class>
    	  <managed-bean-scope>session</managed-bean-scope>
    	    <managed-property>
    	        <property-name>remoteAffaireDao</property-name>
            	<value>#{myAffaireDao}</value>
          </managed-property>
          <managed-property>
    	        <property-name>remoteCommuneDao</property-name>
            	<value>#{myCommuneDao}</value>
         </managed-property>
          <managed-property>
    	        <property-name>remoteDistrictDao</property-name>
            	<value>#{myDistrictDao}</value>
         </managed-property>
               <managed-property>
    	        <property-name>remoteCeCommuneDao</property-name>
            	<value>#{myCeCommuneDao}</value>
         </managed-property>     
         <managed-property>
    	        <property-name>remoteTypeAffaireDao</property-name>
            	<value>#{myTypeAffaireDao}</value>
         </managed-property>
         <managed-property>
    	        <property-name>remoteRequerantDao</property-name>
            	<value>#{myRequerantDao}</value>
         </managed-property>
         <managed-property>
    	        <property-name>remoteParcelleDao</property-name>
            	<value>#{myParcelleDao}</value>
         </managed-property>	       	  
        <managed-property>
    	        <property-name>remoteAuteurDao</property-name>
            	<value>#{myAuteurPlansDao}</value>
        </managed-property>
        <managed-property>
    	        <property-name>remoteBatimentDao</property-name>
            	<value>#{myBatimentDao}</value>
        </managed-property>   
        <managed-property>
    	        <property-name>remoteObjetDemandeDao</property-name>
            	<value>#{myObjetDemandeDao}</value>
        </managed-property>
        <managed-property>
    	        <property-name>remoteGenrePermisDao</property-name>
            	<value>#{myGenrePermisDao}</value>
        </managed-property>          
        <managed-property>
    	        <property-name>remoteGenreResidanceDao</property-name>
            	<value>#{myGenreResidanceDao}</value>
        </managed-property>          
        <managed-property>
    	        <property-name>remotePermisDao</property-name>
            	<value>#{myPermisDao}</value>
        </managed-property>
        <managed-property>
    	        <property-name>remotePersonneAutoriseeDao</property-name>
            	<value>#{myPersonneAutoriseeDao}</value>
        </managed-property>             
        <managed-property>
    	        <property-name>remoteGenreConstructionDao</property-name>
            	<value>#{myGenreConstructionDao}</value>
        </managed-property>                   
        <managed-property>
    	        <property-name>remoteCategorieAffaireDao</property-name>
            	<value>#{myCategorieAffaireDao}</value>
        </managed-property>                   
        <managed-property>
               <property-name>remoteEntreeBatimentDao</property-name>
               <value>#{myEntreeBatimentDao}</value>
    	</managed-property>              
        <managed-property>
               <property-name>remoteCoutsVolumeDao</property-name>
               <value>#{myCoutsVolumneDao}</value>
    	</managed-property>              
    	<managed-property>
    	        <property-name>rowSelectController</property-name>
            	<value>#{rowSelectController}</value>
        </managed-property>	       	  
    	<managed-property>
    	        <property-name>rowSelectControllerLocalisation</property-name>
            	<value>#{rowSelectControllerLocalisation}</value>
        </managed-property>	       	  
    	<managed-property>
    	        <property-name>cityDictionary</property-name>
        	    <value>#{communeDictionary}</value>
        </managed-property>
    	<managed-property>
    	        <property-name>localiteDictionary</property-name>
        	    <value>#{localiteDictionary}</value>
        </managed-property>
    	<managed-property>
    	        <property-name>requerantDictionary</property-name>
        	    <value>#{requerantDictionary}</value>
        </managed-property>       
    	<managed-property>
    	        <property-name>personneAutoriseeDictionary</property-name>
        	    <value>#{personneAutoriseeDictionary}</value>
        </managed-property>	       	      	       	  
    	<managed-property>
    	        <property-name>typeDictionary</property-name>
        	    <value>#{typeDictionary}</value>
        </managed-property>	       	  
    	<managed-property>
    	        <property-name>popup</property-name>
        	    <value>#{popupBean}</value>
        </managed-property>	       	  
    	<managed-property>
    	        <property-name>fnService</property-name>
        	    <value>#{fnService}</value>
        </managed-property>
        	<managed-property>
    	        <property-name>searchAffaireBean</property-name>
        	    <value>#{searchAffaireBean}</value>
        </managed-property>	       	       	       	      	       	       	       	  
    	</managed-bean>
    et la définition spring

    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
     
    	<bean id="sessionBean" class="ch.btc.datec.yamina.web.SessionBean" scope="session">
     
    		<property name="remoteAffaireDao" ref="myAffaireDao" />
    		<property name="remoteParcelleDao" ref="myParcelleDao"/>
    		<property name="remoteCeCommuneDao" ref="myCeCommuneDao" />
    		<property name="remoteCommuneDao" ref="myCommuneDao" />
    		<property name="remoteDistrictDao" ref="myDistrictDao" />
    		<property name="remoteTypeAffaireDao" ref="myTypeAffaireDao"/>
    		<property name="searchAffaireBean" ref="searchAffaireBean"/>
    		<property name="remoteRequerantDao" ref="myRequerantDao"/>
    		<property name="remoteAuteurDao" ref="myAuteurPlansDao"/>
    		<property name="remoteBatimentDao" ref="myBatimentDao"/>	
    		<property name="remoteEntreeBatimentDao" ref="myEntreeBatimentDao"/>
    		<property name="remoteObjetDemandeDao" ref="myObjetDemandeDao"/>
    		<property name="remoteGenrePermisDao" ref="myGenrePermisDao"/>		
    		<property name="remoteGenreConstructionDao" ref="myGenreConstructionDao"/>		
    		<property name="remoteGenreResidanceDao" ref="myGenreResidanceDao"/>
    		<property name="remoteCoutsVolumeDao" ref="myCoutsVolumneDao"/>
    		<property name="remotePermisDao" ref="myPermisDao"/>
    		<property name="remoteCategorieAffaireDao" ref="myCategorieAffaireDao"/>
    		<property name="remotePersonneAutoriseeDao" ref="myPersonneAutoriseeDao"/>
     
    		<property name="rowSelectController" ref="rowSelectController" />
    		<property name="cityDictionary" ref="communeDictionary" />
    		<property name="personneAutoriseeDictionary" ref="personneAutoriseeDictionary" />		
    		<property name="typeDictionary" ref="typeDictionary"/>
    		<property name="localiteDictionary" ref="localiteDictionary"/>
    		<property name="requerantDictionary" ref="requerantDictionary"/>				
    		<property name="popup" ref="popupBean"/>
    		<property name="fnService" ref="fnService" />
    	</bean>
     
    	<bean id="searchAffaireBean" class="ch.btc.datec.yamina.web.table.AffaireBean" scope="session">
    		<property name="communeDao" ref="myCeCommuneDao" />
    	</bean>
    J ai mis un LOG.debug lors de l'appel de setSearchAffaireBean mais il n'est jamais appellé

    Si je change le scope du managed-bean en request je n'obtiens pas d'erreur.

    Auriez-vous une idée ?

  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
    les properties qui sont aussi des beans gérés par JSF, doivent avoir le même scope ou un scope plus large.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    Citation Envoyé par Sniper37 Voir le message
    les properties qui sont aussi des beans gérés par JSF, doivent avoir le même scope ou un scope plus large.
    le problème est que sessionBean et searchAffaireBean ont les deux un scope en session

  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
    ya des beans gérés par JSF et d'autres par spring, je ne sais pas si le problème vient de là mais je suppose que ça fonctionne pour d'autres objets..
    tu n'a pas d'exceptions ?

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    j'ai finalement contourner le problème est récupérant explicitement dans le code le bean dans le constructeur de mon bean

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    searchAffaireBean = (AffaireBean)context.getApplication().createValueBinding("#{searchAffaireBean}").getValue(context);

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

Discussions similaires

  1. Init d'un managed-bean scope session
    Par sir_gcc dans le forum JSF
    Réponses: 3
    Dernier message: 16/09/2010, 11h24
  2. Récupérer un managed bean mis en session
    Par tomy29 dans le forum JSF
    Réponses: 6
    Dernier message: 15/08/2008, 12h05
  3. Réponses: 4
    Dernier message: 08/07/2008, 22h39
  4. probleme de recuperation de bean en session
    Par aymenroma dans le forum JSF
    Réponses: 5
    Dernier message: 04/06/2008, 10h42
  5. Réponses: 3
    Dernier message: 30/05/2007, 10h22

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