treepanel动态加载数据实现代码 |
本文标签:treepanel,加载数据 复制代码 代码如下: var tree = new Ext.tree.TreePanel({ region:west, title:站点树:, width:200, minSize:150, maxSize:200, iconCls:ux-auth-menu-header-icon, split:true, autoScroll:true, autoHeight:false, collapsible:true, rootVisable:false, //不显示根节点 root:new Ext.tree.TreeNode({ id:root, text:分所, draggable:false, expanded:true }), loader:new Ext.tree.TreeLoader({ dataUrl:treeUtil.html?content.method=getAllMenuTreeNodes }) }); public void getAllMenuTreeNodes(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { String systemId = request.getParameter("node"); String haveCheckBox = request.getParameter("haveCheckBox"); IMenuManager menuManager = this.getPkgServer().getDriver().getSystemManageServer().getMenuManager(); List<HashMap> nodes = new ArrayList<HashMap>(); String parentNodeName =menuManager.getMenu(Long.parseLong(systemId)).getName() ; List<Menu> menus = menuManager.getMenus("em.parent_name= " +parentNodeName + ""); for(Menu menu:menus){ HashMap<String, Object> hm=new HashMap<String, Object>(); hm.put("id", menu.getId()); hm.put("text", menu.getTitle()); hm.put("iconCls",menu.getName()); nodes.add(hm); } JSONArray ary = new JSONArray(nodes); writeJson(response, ary.toString()); } |