I think you must use `onSuccessTopics` instead of `onErrorTopics` -
returning 403 doesn't mean an error

2016-03-29 21:59 GMT+02:00 fea jabi <zy...@hotmail.com>:
> Thanks, it worked but now trying this and not sure how to fix this.
>
> Have a <sj:tabbedppanel> on a page.
> After session timeout trying to click on another tab of tabbed panel should 
> redirect the user to login page.
> <sj:tabbed> panel not firing the onErrorTopics. The javascript function is 
> not getting called. The server is sending result 403. Please see below and 
> guide me on how to fix this issue. I am seeing in fire bug that the 403 error 
> is thrown but I am unable to catch it in jsp. Need help with the same.
>
> struts.xml
>
>                 <action name="secondPanel" class="com.xxx.secondPanelAction">
>                         <interceptor-ref name="sampleDefaultStack" />
>
>                 <result>/jsp/secondPanel.jsp</result>
>                 <result name="login" type="httpheader">
>                             <param name="error">403</param>
>                     <param name="errorMessage">User session expired      
> </param>
>                         </result>
>                 </action>
>
> jsp
>
>     <sj:tabbedpanel id="remotetabs" selectedTab="0" show="true"   
> hide="'fade'" collapsible="true" sortable="true" onErrorTopics="loadError">
>         <sj:tab id="tab2" href="%{createUrl}" key="label.create" 
> onErrorTopics="loadError"/>
>         <sj:tab id="tab1" href="%{updateUrl}" key="label.update" 
> onErrorTopics="loadError"/>
>     </sj:tabbedpanel>
>
>     <script type="text/javascript" >
>         $(document).ready(function() {
>               $.subscribe('loadError', function(event, status, data) { 
> alert('in error');
>               var status1 = event.status;
>
>               if(status1 == 403 ) {
>                   window.location.href = "/Sample/login.action";
>               }
>         });
>     </script>
>
>
>
>
>
>
>
> ________________________________________
> From: Lukasz Lenart <lukaszlen...@apache.org>
> Sent: Friday, March 11, 2016 2:21 PM
> To: Struts Users Mailing List
> Subject: Re: struts2 interceptor session timeout with ajax
>
> It won't work that way, when using Ajax you must use Ajax to redirect
> to a login page. You can use something like this
>
> http://cypressnorth.com/programming/global-ajax-error-handling-with-jquery/
>
> so your interceptor must return 403 status code (it can return also an
> url to login page to redirect to) and you must handle redirect on
> client side
>
>
> Regards
> --
> Ɓukasz
> + 48 606 323 122 http://www.lenart.org.pl/
>
> 2016-03-11 15:31 GMT+01:00 fea jabi <zy...@hotmail.com>:
>> Need help with this please.
>>
>> ________________________________________
>> From: fea jabi <zy...@hotmail.com>
>> Sent: Wednesday, March 9, 2016 10:51 AM
>> To: user@struts.apache.org
>> Subject: struts2 interceptor session timeout with ajax
>>
>> Have jquery tabbed panel in a jsp page which has a button to Save the form 
>> in the tabbed panel which is making an ajax call and is working fine.
>>
>> Now trying to implement the session management for all requests in the 
>> application and imlemented the new interceptor to perform the same. Having 
>> issue with session management with the ajax calls. Have the below package 
>> for ajax requests in which configured the new interceptor created and the 
>> default interceptor. But, the below is not redirecting to the login page 
>> instead opening the popup with login page html in it. what am I missing here?
>>
>> <package name="ajax-default" extends="json-default" namespace="/ajax">
>>
>> <interceptors>
>>
>> <interceptor class="com.xxx.LoginInterceptor" name="loginInterceptor">
>>
>> </interceptor>
>>
>> <interceptor-stack name="appDefaultStack">
>>
>> <interceptor-ref name="loginInterceptor" />
>>
>> <interceptor-ref name="defaultStack" />
>>
>> </interceptor-stack>
>>
>> </interceptors>
>>
>> <default-interceptor-ref name="appDefaultStack"></default-interceptor-ref>
>>
>> <action name="saveAJAXAction" class="com.xxx.descAction" method="saveDesc">
>>
>> <result type="json" name="success">
>>
>> <param name="noCache">true</param>
>>
>> <param name="excludeNUllProperties">true</param>
>>
>> <param name="root">jsonResult</param>
>>
>> </result>
>>
>> <result name="login" type="redirectAction">
>>
>> <param name="actionName">appLogin</param>
>>
>> <param name="namespace">/</param>
>>
>> </result>
>>
>> </action>
>>
>> ........
>>
>> </package>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
>> For additional commands, e-mail: user-h...@struts.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
> For additional commands, e-mail: user-h...@struts.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@struts.apache.org
For additional commands, e-mail: user-h...@struts.apache.org

Reply via email to