ext4js treepanel json,treepanel 导航

gson版本:gson-2.2.4.jar
ext4js 部分代码:
xtype: 'treepanel',
                    region: 'west',
                    width: 240,
                    store: 'MytreeStore',
                    title: '',
                    split: true,
                    autoScroll: true, 
                    root: {
                                expanded: true
                            },
                    rootVisible: false,
                    viewConfig: {

                    },
                    listeners: {
                        cellclick: {
                            fn: me.onTreepanelCellClick,
                            scope: me
                        }
                    }

封装类,字段不能改变

class MyTreeNode {
	private String id;
	private String text;
	private Boolean expanded = false;
	private Boolean leaf = true;
	private String url;
	private List<MyTreeNode> children;

	public List<MyTreeNode> getChildren() {
		return children;
	}

	public void setChildren(List<MyTreeNode> children) {
		this.children = children;
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getText() {
		return text;
	}

	public void setText(String text) {
		this.text = text;
	}

	public Boolean getExpanded() {
		return expanded;
	}

	public void setExpanded(Boolean expanded) {
		this.expanded = expanded;
	}

	public Boolean getLeaf() {
		return leaf;
	}

	public void setLeaf(Boolean leaf) {
		this.leaf = leaf;
	}

	public String getUrl() {
		return url;
	}

	public void setUrl(String url) {
		this.url = url;
	}
springMVC 调用

/**
	 * 返回菜单JSON数据
	 * 
	 * @param session
	 * @return
	 */
	@RequestMapping(value = "/test", produces = "text/plain;charset=UTF-8")
	@ResponseBody
	public Object test() {

		List<KZ_GNLB> list = kz_gnlbService.selectAll();// 数据库全部节点

		List<MyTreeNode> listTree = new ArrayList();// 树状节点全部数据

		MyTreeNode rootNode = new MyTreeNode();// 根节点
		rootNode.setId("0");
		rootNode.setText("我的导航");
		rootNode.setExpanded(true);
		rootNode.setLeaf(false);
		
		InitTree(rootNode,list);
		
		listTree.add(rootNode);

		Gson gson = new Gson();
		String sss = gson.toJson(listTree).toString();
		System.out.println(sss);
		return sss;
	}
	
	private void InitTree(MyTreeNode pNode,List<KZ_GNLB> list)
	{
		MyTreeNode childNode;

		for (int i=0; i < list.size(); i++)// 功能分类
		{
			if (list.get(i).getPGNID().equals(pNode.getId())) {
				childNode = new MyTreeNode();
				childNode.setId(list.get(i).getGNID());
				childNode.setText(list.get(i).getGNMC());
				childNode.setUrl(list.get(i).getURL());	
				
				List<MyTreeNode> childList=pNode.getChildren();				
				if(childList==null)
				{
					childList=new ArrayList<MyTreeNode>();	
					pNode.setChildren(childList);
				}
				childList.add(childNode);
				
				InitTree(childNode,list);
			}
		}
		List<MyTreeNode> childList=pNode.getChildren();		
		if (childList==null) {
			pNode.setExpanded(false);
			pNode.setLeaf(true);		
		} else {
			pNode.setExpanded(true);
			pNode.setLeaf(false);
		}		
	}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值