2010-06-21 100 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> 

這是我的機器上工作正常