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