nutz,關於token超時後,ajax請求的處理

在普通filter中,如果token超時後,直接重定向到登錄頁面即可;
但是,在nutz中,如果實現ActionFilter時,返回值爲null表示繼續執行,爲view的時候表示中斷;
所以,在nutz中判斷是ajax請求後,應該返回它所對應的view對象(UTF8JsonView):

if(checkIsAjax(request)){
    //如果是ajax,則設置session超時;
    System.out.println("ajax request");

    response.setHeader("sessionstatus","timeout");

    ajaxMap.put("sessionstatus","timeout");
    //此處注意,設置數據時要用nutz自己的json對象轉換
    return new UTF8JsonView(JsonFormat.full()).setData(Json.toJson(ajaxMap));
}

    private boolean checkIsAjax(HttpServletRequest request){
        if (request.getHeader("x-requested-with") != null
                && "XMLHttpRequest".equalsIgnoreCase(request.getHeader("x-requested-with"))) {
            return true;
        }
        return false;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章