ExtJS4 TreePanel 加载数据 J2EE

               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
      
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值