您的位置:首页 > Web前端 > JavaScript

ExtJS4 TreePanel 加载数据 J2EE

2012-12-23 17:39 471 查看
ExtJS4 TreePanel 加载数据J2EE
ExtJS4 树形加载测试:
1. 客户端JS 代码
Ext.require([
'Ext.tree.*',
'Ext.data.*'
]);

Ext.onReady(function() {

var treeStore = Ext.create('Ext.data.TreeStore', {
autoLoad : true,
fields   : ['id', 'text', 'cls', 'leaf', 'link', 'children'],
proxy    : { type  : 'ajax',
url   : 'tree.do',
reader: {
type : 'json'
}
},
root     : {
id    : '0',
text  : 'China',
expanded  : true
}
}
);

var tree = Ext.create('Ext.tree.Panel', {
renderTo : Ext.getBody(),
title    : 'TreeNav',
height: 350,
width: 400,
hideHeaders: true,
rootVisible: true,
viewConfig: {
plugins: [{
ptype: 'treeviewdragdrop'
}]
},
collapsible: true,
singleExpand: true,
useArrows: true,
store    : treeStore,
listeners: {
itemclick : function(view, record, item, index, e)
{
var leaf = record.get('leaf');
if(leaf)
{
window.open(record.get('link'), '_blank');
}
else
{
var expanded = record.get('expanded');
if(expanded)
{
view.collapse(record);
}
else
{
view.expand(record);
}
}
}
}
});
});
2. 服务端Java实现
public static List<TreeBean>  getChildren(String parentId)
{
List<TreeBean> list = new ArrayList<TreeBean>();
if(parentId.equals("0"))
{
TreeBean bean = new TreeBean();
bean.setId(1);
bean.setText("北京");
bean.setCls("file");
bean.setLeaf(false);
bean.setLink("www.google.com");
bean.setChildren(getRegions());
list.add(bean);
bean = new TreeBean();
bean.setId(2);
bean.setText("天津");
bean.setCls("file");
bean.setLeaf(false);
bean.setLink("www.baidu.com");
list.add(bean);
}
return list;
}

public static List<TreeBean> getRegions()
{
List<TreeBean> list = new ArrayList<TreeBean>();
TreeBean bean = new TreeBean(18, "东城区", "file", "http://www.google.com", true);
list.add(bean);
bean = new TreeBean(19, "西城区", "file", "http://www.google.com", true);
list.add(bean);
return list;
}
// TODO Auto-generated method stub
String parentId = request.getParameter("id");
//String text   = request.getParameter("text");
List<TreeBean> list = TreeNav.getChildren(parentId);
/*Tree tree = new Tree();
tree.setParentId(parentId);
tree.setChildren(list);*/
JSONArray arr = JSONArray.fromObject(list);
response.setCharacterEncoding("utf-8");
response.getWriter().println(arr.toString());


3.返回数据格式
[{"children":[{"children":[],"cls":"file","id":18,"leaf":true,"link":"http://www.google.com","text":"东城区"},{"children":[],"cls":"file","id":19,"leaf":true,"link":"http://www.google.com","text":"西城区"}],"cls":"file","id":1,"leaf":false,"link":"www.google.com","text":"北京"},{"children":[],"cls":"file","id":2,"leaf":false,"link":"www.baidu.com","text":"天津"}]

4. UI



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: