extjs动态树的生成。

来源:互联网 发布:linux怎么删除目录 编辑:程序博客网 时间:2024/04/27 08:03

运行结果:


数据库字段取名非常重要,要与ext.Tree中对应。id  text  url(href)



js代码:

Ext.TESTTREE.Model = {    nodeStore: Ext.create('Ext.data.TreeStore', {        model: 'NodeModel',    proxy: {        type: 'ajax',        url: Ext.TESTTREE.NodeConfig.NodeQueryUrl    }})}
Ext.define('NodeModel', {     extend: 'Ext.data.Model',     fields: [       {name:'id',mapping:'id'},     {name:'text'},     {name:'leaf'},     {name:'url'}    ]});
Ext.TESTTREE.NodeConfig={NodeQueryUrl:"/tool-license/treeNode/listTreeNode.do",};var MenuTree=Ext.create('Ext.tree.Panel', {    title: 'Simple Tree',   displayField: 'text',    region: 'west',    width: '16%',    autoScroll: true,    store: Ext.TESTTREE.Model.nodeStore,rootVisible: false,});Ext.create('Ext.container.Viewport', {    layout: 'border',  defaults: {            collapsible: true,            split: true,            bodyStyle: 'padding: 10px'        },    items: [TopPanel,MenuTree, MainPanel, FooterPanel],});主要java代码:// 控制层@Controller@RequestMapping("/treeNode")public class TreeNodeController {private TreeNodeService treeNodeService;@Autowiredpublic TreeNodeController(TreeNodeService treeNodeService) {this.treeNodeService = treeNodeService;}@RequestMapping("/listTreeNode.do")@ResponseBodypublic void listTreeNode(@RequestParam("id") String parentId,HttpServletResponse response) throws IOException {response.setCharacterEncoding("utf-8");// System.out.println(parentId+"++++++++++++++++++");List<TreeNode> nodes = treeNodeService.listClildren(parentId);StringBuilder jsonData = new StringBuilder();if (nodes.size() > 0) {jsonData.append("[");for (TreeNode treeNode : nodes) {{// System.out.println(treeNode.getHref()+"==============href");ToTreeNode json = new ToTreeNode();boolean leaf = (treeNodeService.listClildren(treeNode.getLevel())).size() == 0 ? true : false;String node = json.ToTreeNode(treeNode.getLevel(),treeNode.getText(), leaf,treeNode.getUrl()).toString();jsonData.append(node);jsonData.append(",");}}// 去掉末尾“,”号jsonData.deleteCharAt((Integer) (jsonData.length() - 1));jsonData.append("]");}response.getWriter().write(jsonData.toString());}}public class ToTreeNode { public StringBuilder ToTreeNode(String id, String text, boolean leaf,String url){        StringBuilder jsonData = new StringBuilder();        jsonData.append("{");        jsonData.append("id:'");        jsonData.append(id);        jsonData.append("',text:'");        jsonData.append(text);        jsonData.append("',leaf:'");        jsonData.append(leaf);        jsonData.append("',url:'");        jsonData.append(url);        jsonData.append("'}");        return jsonData;    }}