2010-06-21 49 views
0

我使用execAndWait拦截器,它似乎会话拦截后失去..问题与execAndWait拦截,SESSION丢失

我的代码 - 支柱,lcms.xml

...

<action name="testAction" class="com.lcms.presentation.TestAction"> 

    <interceptor-ref name="execAndWait"></interceptor-ref> 
    <param name="delay">3000</param> 
    <param name="delaySleepInterval">50</param> 
    <result name="wait" type="tiles">tiles.ques</result> 
    <result name="success" type="tiles">tiles.ques</result> 
    <result name="diag" type="redirectAction">diagnosticAction</result> 
</action> 

...

如果我删除了拦截代码,那么它需要我的问题页面(tiles.ques)。然而,与拦截器的会话是空..

该代码在TestAction文件

SessionObject sess = (SessionObject)getSession().getAttribute(LcmsConstants.SESSION_OBJECT); 

它给出如果正确不使用拦截器的会话中执行的方法。然而,如果使用拦截器代码,然后它抛出NULL指针异常..

请告诉我如何克服这个问题..

回答

0

在struts.xml中提及的

<interceptor-stack name="loadingStack"> 
    <interceptor-ref name="completeStack" /> 
    <interceptor-ref name="execAndWait"> 
     <param name="delay">1000</param> 
     <param name="delaySleepInterval">500</param> 
    </interceptor-ref> 
</interceptor-stack> 

<interceptor-ref name="loadingStack"/> 
<result name="wait">ETAX/TDS/wait.jsp</result> 

这是我的机器上工作正常