效果图:
数据库字段取名非常重要,要与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>