国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

dwz ajax session超時(shí)跳轉(zhuǎn)登錄頁(struts2自定義攔截器)

2019-11-14 21:52:59
字體:
供稿:網(wǎng)友
dwz Ajax session超時(shí)跳轉(zhuǎn)登錄頁(struts2自定義攔截器)

1.定義struts2攔截器(網(wǎng)上例子很多)

代碼如下:

package rt.intercepter;import java.util.Map;import javax.servlet.http.HttpServletRequest;import rt.pojo.UserInfo;import rt.util.Struts2Utils;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;public class LoginValidate extends AbstractInterceptor {    /**     *      */    PRivate static final long serialVersionUID = 1L;    @Override    public String intercept(ActionInvocation invocation) throws Exception {        System.out.println("interceptor intercept");         Map<String, Object> session = invocation.getInvocationContext().getSession();        UserInfo userInfo = (UserInfo) session.get("userInfo");        HttpServletRequest request = Struts2Utils.getRequest();        if ("xmlHttpRequest".equalsIgnoreCase(request.getHeader("X-Requested-With")) || request.getParameter("ajax") != null) {            if(null == Struts2Utils.getSession() || null == userInfo){                Struts2Utils.getResponse().getWriter().write("{/"statusCode/":/"301/", /"message/":/"會(huì)話已過期!請(qǐng)重新登錄!/"}");                return null;            }          }        return invocation.invoke();    }}

2、配置攔截器

<!-- 用于CRUD Action的parent package -->    <package name="crud-default" extends="convention-default">        <!-- 基于paramsPrepareParamsStack,            增加store interceptor保證actionMessage在redirect后不會(huì)丟失 -->        <interceptors>        <span style="color: #ff0000;"><interceptor name="sessionout" class="rt.intercepter.LoginValidate" /></span> <interceptor-stack name="crudStack"> <interceptor-ref name="timer"/> <interceptor-ref name="logger"/> <interceptor-ref name="store"> <param name="OperationMode">AUTOMATIC</param> </interceptor-ref> <interceptor-ref name="paramsPrepareParamsStack" /> <span style="color: #ff0000;"><interceptor-ref name="sessionout"/></span> </interceptor-stack> </interceptors> <default-interceptor-ref name="crudStack" /> </package>

3.測(cè)試:

登錄后,等一分鐘,點(diǎn)擊出現(xiàn)登錄超時(shí),并跳轉(zhuǎn)到了登錄頁面。

如果想session超時(shí)之后設(shè)置頁面不跳轉(zhuǎn),而是彈出框登錄,請(qǐng)?jiān)赿wz的初始化頁面內(nèi)修改:

<script type="text/Javascript">        $(function(){            DWZ.init("dwz.frag.xml", {                loginUrl:"login_dialog.html", loginTitle:"登錄",    // 彈出登錄對(duì)話框                //loginUrl:"login.jsp",    // 跳到登錄頁面                statusCode:{ok:200, error:300, timeout:301}, //【可選】                keys: {statusCode:"statusCode", message:"message"}, //【可選】                pageInfo:{pageNum:"pageNum", numPerPage:"numPerPage", orderField:"orderField", orderDirection:"orderDirection"}, //【可選】                debug:false,    // 調(diào)試模式 【true|false】                callback:function(){                    initEnv();                    $("#themeList").theme({themeBase:"themes"});                    setTimeout(function() {$("#sidebar .toggleCollapse div").trigger("click");}, 10);                }            });        });                </script>

這樣就完成了,希望能給大家?guī)韼椭?


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 任丘市| 克山县| 咸宁市| 城口县| 永兴县| 英超| 靖江市| 东光县| 日喀则市| 瓦房店市| 蚌埠市| 包头市| 龙南县| 抚远县| 伊春市| 海伦市| 成都市| 买车| 阜宁县| 长武县| 涪陵区| 青阳县| 宜黄县| 浪卡子县| 汾西县| 井陉县| 花垣县| 阿克| 二连浩特市| 会宁县| 山丹县| 西华县| 上蔡县| 舞钢市| 通辽市| 海伦市| 曲水县| 余姚市| 临猗县| 宣汉县| 吉林省|