效果图:
数据库字段取名非常重要,要与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 } }) } <pre name="code" class="javascript">Ext.define('NodeModel', { extend: 'Ext.data.Model', fields: [ {name:'id',mapping:'id'}, {name:'text'}, {name:'leaf'}, {name:'url'} ] }); <pre name="code" class="javascript">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; @Autowired public TreeNodeController(TreeNodeService treeNodeService) { this.treeNodeService = treeNodeService; } @RequestMapping("/listTreeNode.do") @ResponseBody public 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; } } </pre> <pre></pre> <pre></pre> <pre></pre> <pre></pre> </pre>