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());
}
补充:web前端 , JavaScript ,