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

首頁 > 語言 > JavaScript > 正文

extjs 的權限問題 要求控制的對象是 菜單,按鈕,URL

2024-05-06 14:11:08
字體:
來源:轉載
供稿:網友

解題思路1 : 重載Connection類
由于extjs和server端交互全都是 json格式的數據交互,server端不會控制頁面的跳轉,頁面跳轉,提示功能全都有extjs來完成。
extjs和server端的交互方法全都是繼承自 Ext.data.Connection,這個類中可以攔截所有和server端交互的方法。
server端的權限控制用acegi做的,如果沒通過acegi的驗證,沒有授權會返回到403.jsp,需要重登錄會返回到 login.jsp。
因此重載Connection類,并改寫其中的 handleResponse 方法,判斷返回的結果是否是 403.jsp,login.jsp, 如果是就進行相應的控制,如果是正常的返回數據就繼續向下執行。
我個人在403.jsp 和login.jsp 的第一行加上了 注釋代碼<!--權限控制自定義關鍵字-->,就是靠這個關鍵字來工作的
,代碼如下:
代碼如下:
//此處重載了Cunnection方法,用來攔截client與Server的交 互,
//后臺acegi攔截用戶請求后,如果無權限,返回403.jsp;如果沒登錄,返回login.jsp;
//通過Acegi攔截 后,才返回用戶想要的Json結果
Ext.override(Ext.data.Connection, {
handleResponse : Ext.data.Connection.prototype.handleResponse.createInterceptor(
function(response) {
var resText=response.responseText;
if (resText.length>10) {
resText=resText.substr(0,9);
}
if (resText=='<!--login'){
window.top.location.href = topURL+"/login.jsp";
} else if (resText=='<!--deny-'){
if (resText=='<!--deny-'){
Ext.Msg.show({
title : '錯誤提示',
msg : '禁止訪問此功能,請和系統管理員聯系',
buttons : Ext.Msg.OK,
icon : Ext.Msg.INFO
});
};
} else if (resText=='<!--404--'){
Ext.Msg.show({
title : '錯誤提示',
msg : '頁面未找到',
buttons : Ext.Msg.OK,
icon : Ext.Msg.INFO
});
}
})
});

解題思路2: server端返回菜單json數據
我的菜單用tree來做的,在初始化主頁面時先初始化菜單,
代碼如下:
loader : new Ext.tree.TreeLoader({
dataUrl : 'getJsonMenus.do'
}),
這個'getJsonMenus.do'返回菜單json數據,在strut2中的配置為:
<action name="getJsonMenus" class="jsonSystemAction" method="getJsonMenus">
<result type="json">
<param name="root">menus</param>
</result>
</action>

menus是個list<JsonMenu>,
JsonMenu的屬性為:
private String text;
private boolean expanded;
private String id;
private boolean leaf;
private List<JsonMenu> children;
getJsonMenus.do 返回的格式是可以滿足tree的格式要求的。
js代碼如下
代碼如下:
Ext.onReady(function() {
setTimeout(function() {
Ext.get('loading').remove();
Ext.getDom('header').style.visibility = 'visible';
var vp = new Ext.Viewport({
layout : 'border',
defaults : {
collapsible : true,
split : true
},
items : [{

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 田林县| 武安市| 丰台区| 青神县| 环江| 天长市| 灌阳县| 洛阳市| 潼关县| 靖安县| 石台县| 海南省| 南郑县| SHOW| 视频| 鄂伦春自治旗| 张家港市| 济阳县| 永清县| 同心县| 九龙县| 呼和浩特市| 织金县| 广南县| 繁峙县| 郁南县| 新田县| 宿迁市| 泗水县| 剑河县| 夹江县| 泊头市| 涿鹿县| 蕉岭县| 昌邑市| 潼关县| 山东| 旬阳县| 子洲县| 手游| 肇东市|