2010-08-24 25 views
0

J'ai un problème avec la gestion de session dans struts2. Je définis un attribut dans la session dans un intercepteur qui est l'intercepteur par défaut pour l'ensemble de mon application. Dans mon action, j'applique l'interface SessionAware et saisis la session sous forme de carte. Mais l'attribut que j'ai placé dans l'intercepteur n'est pas présent dans la carte que j'ai dans mon action. Ai-je manqué un intercepteur par défaut dans mon baseAppStack ou une idée de ce qui me manque?Gestion de session dans les intercepteurs et l'action de Struts 2 application

Ma définition de intercepteur dans struts.xml:

Mon code intercepteur:

HttpSession session = request.getSession (true); 
params = (SessionParams)session.getAttribute(Constants.KEY_SESSION_PARAMS); 

if (params == NULL) {

 //some code to populate params 

session.setAttribute (Constants.KEY_SESSION_PARAMS, params); }

Mon code d'action:

Map session = getSession(); 
SessionParams params = (SessionParams) session.get(Constants.KEY_SESSION_PARAMS); 
+0

définition Interceptor: \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t chandu

Répondre

0

définition Interceptor manque mon mon post précédent. Ne sais pas pourquoi mais je l'avais quand je l'ai soumis.

définition Interceptor:

<interceptors> 
     <interceptor name="baseInterceptor" class="com.interceptors.BaseInterceptor"> 
     </interceptor> 

     <interceptor-stack name="baseAppStack"> 
      <interceptor-ref name="baseInterceptor" /> 
      <interceptor-ref name="defaultStack" /> 
     </interceptor-stack> 
    </interceptors> 
    <default-interceptor-ref name="baseAppStack"></default-interceptor-ref> 
0

ok Sons. Déboguez votre code intercepteur (un point d'arrêt ou une ligne de journal) pour vérifier qu'il est appelé. Et/ou copier le code complet de votre intercepteur.