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 <[email protected]>
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 <[email protected]>:
> Need help with this please.
>
> ________________________________________
> From: fea jabi <[email protected]>
> Sent: Wednesday, March 9, 2016 10:51 AM
> To: [email protected]
> 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: [email protected]
> For additional commands, e-mail: [email protected]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]