`
yclwm3
  • 浏览: 845 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ext的高手帮帮我关于toolbar动态菜单的问题

 
阅读更多
我想做一个根据角色权限动态显示toolbar菜单,以下代码是我从互联网上找来的,为什么我的运行不了?好郁闷??高手帮帮我,我刚学ext不久,请问这部分代码  
// 2 发送请求,获取菜单
Ext.Ajax.request({
url: 'getMenusForUser.action', //这个action里面返回菜单
success: successCallBack,
failure: failureCallBack
});
没有任何事件触发的情况下也能发出请求吗???我就纠结在这里,我用struts1,写了一个getMenusForUser.action,也不知道对不对,请高手指点指点,好急呀,几天睡不着觉了



Ext.onReady(function(){  
  Ext.BLANK_IMAGE_URL='ext/resources/images/default/s.gif';  
  Ext.QuickTips.init();  
  // 1 创建菜单栏  
  var menuBar = new Ext.Toolbar();  
  menuBar.render('menubar');  
  menuBar.add('-');  
   
  // 2 发送请求,获取菜单  
  Ext.Ajax.request({  
  url: 'getMenusForUser.action', //这个action里面返回菜单  
  success: successCallBack,  
  failure: failureCallBack  
  });  
   
  // 3.加载菜单失败  
  function failureCallBack(){  
  Ext.Msg.alert('提示信息','菜单加载失败,请刷新页面');  
  };  
  // 3.加载菜单成功  
  function successCallBack(response){  
  var results=null;//服务器返回的菜单JSON集  
  try{  
  results=Ext.decode(response.responseText);  
  }catch(ex){  
  alert(response.responseText);  
  }  
  var menus=new Array();  
  var menus_index=0;  
for(var i=0;i<results.length;i++){  
  var temp1=results[i];  
  if(temp1.fatherId==0){ //一级菜单  
  var menu_first=new Ext.menu.Menu({  
  id:temp1.id  
  });  
  menus[menus_index]==menu_first;  
  for(var j=0;j<results.length;j++){ //二级菜单  
  var temp2=results[j];  
  if(temp2.fatherId==temp1.id){  
  var item=new Ext.menu.Item({  
  id:temp2.id,  
  text:temp2.text,  
  linkUrl:temp2.loadURL,  
  handler:onMenuItemClick  
  })  
  menu_first.addItem(item);  
  }  
  }  
  // 将该一级菜单添加到菜单栏中  
  menuBar.add({  
  text:temp1.text,  
  menu:menu_first,  
  iconCls:temp1.iconCls  
  });  
  // 增加分割线  
  menuBar.add('-');  
  }  
  menus_index++;  
  }  
  // 增加帮助和退出按钮  
  menuBar.add('->','-',{  
  text:'帮助',  
  iconCls: 'help',  
  tooltip: '查看帮助'  
  },'-',{  
  text:'退出',  
  iconCls: 'logout',  
  tooltip: '退出'  
  },'-');  
   
  // 菜单项被点击时触发  
  function onMenuItemClick(item,e){  
  var tab=contentPanel.getComponent(item.id);  
  if(!tab){  
  tab=contentPanel.add({  
  id:item.id,  
  title:item.text,  
  autoScroll:true,  
  closable:true,  
  //layout:'fit',  
  autoLoad:{url:item.linkUrl,scripts:true}  
  });  
  }  
  contentPanel.setActiveTab(tab);  
  }  
  }  
  //中部工作区  
var contentPanel = new Ext.TabPanel({  
  region:'center',  
  enableTabScroll:true,  
  activeTab:0,  
  items:[{  
  id:'homePage',  
  title:'首页',  
  autoScroll:true,  
  autoLoad:{url:'modules/test/testModule.html', scripts:true}  
  }]  
  });  
   
  //顶部工作区  
  var northBox = new Ext.BoxComponent({  
  region:'north',  
  el: 'north',  
  height:100,  
  items:[menuBar]  
  });  
   
  //viewport  
  var viewport = new Ext.Viewport({  
  layout:'border',  
  items:[northBox, contentPanel]  
  });  
;  
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics