`

java 生成easyui comotree 树对象

 
阅读更多
	public void getAllModuleTree(){
		List<TreeDataModel<Module>> result = new ArrayList<TreeDataModel<Module>>(); 

		result = createChildren("root");
		getWriter().write(LazyValueFilterSerializer.serialize(result));
	}
	public List<TreeDataModel<Module>> createChildren(String parentId){
		List<TreeDataModel<Module>> list = new ArrayList<TreeDataModel<Module>>();
		
		List<Module> mlist  = roleService.getModuleByParent(parentId); 	
		if(mlist.size()>0){
			for(int i=0;i<mlist.size();i++){
				Module m = mlist.get(i);
				
				TreeDataModel<Module> node = new TreeDataModel<Module>();
				node.setAttributes(null);
				node.setId(m.getMid());
				node.setText(m.getName());
				node.setState("open");
				
				node.setChildren(createChildren(m.getMid()));
				
				list.add(node);
			}
		}
		
		return list;
	}

 

 

package com.company.core.model;


import java.util.List;


public class TreeDataModel<T>  {

	/** 树节点id,可选属性 */
	private String id;

	/** 节点名称 */
	private String text;

	/** 原始对象 */
	private T attributes;

	/** 是否展开 open closed */
	private String state;

	/** 树节点图标,非必需 */
	private String iconCls;

	/** 孩子节点 */
	private List<TreeDataModel<T>> children;
    /**
     * 是否选中
     */
    private boolean checked;



    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 T getAttributes() {
        return attributes;
    }

    public void setAttributes(T attributes) {
        this.attributes = attributes;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getIconCls() {
        return iconCls;
    }

    public void setIconCls(String iconCls) {
        this.iconCls = iconCls;
    }

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

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

    public boolean isChecked() {
        return checked;
    }

    public void setChecked(boolean checked) {
        this.checked = checked;
    }

//    @Override
//    public String toString() {
//        //return JsonUtils.convertToJsonfromObject(this).toString();
//    }

}

 

 

function loadModuleTree(){
	var url = contextPath + "/role/!getAllModuleTree.action";
    $('#modulebt').combotree({
        //data:prodata,
    	url:url,
        multiple:true,
        editable:false,
        checkbox:false,
        cascadeCheck:false,
        onCheck:function(){

        },
		onLoadSuccess : function() {
			setModuleRole();
		}        
   });		
}

function setModuleRole(){
	var url = contextPath + "/role/!getModulesByRole.action";
	var actionUrl = url + "?roleId="+roleId;
	$.ajax({
        type: "get",
        async: false,
        url: actionUrl,
        contentType: "application/json; charset=utf-8",
        dataType: "text",
        cache: false,
        success: function (data) {
        	var p = [];
        	if(data != ""){
            	if(data.indexOf(",")>0){
                	var a = data.split(",");
                	for(var i=0;i<a.length;i++){
                		var m = a[i];
                		p.push(m);
                	}        		
            	}else{
            		p.push(data);
            	}
            	//必须采用数组的方式才能赋值
            	$('#modulebt').combotree('setValues',p);
        	}
        },
        error :function (XMLHttpRequest, textStatus, err) {
        }
     });	
}


function saveModuleRole(){
	var t = $('#modulebt').combotree('tree');  
	var n = t.tree('getChecked'); 
	var mids = "";
	for(var i=0;i<n.length;i++){
		mids = mids + n[i].id+"@";
	}
	mids = mids.substring(0,mids.length-1);
	
	var actionUrl = contextPath + "/role/!saveOrUpdateModuleRole.action?ids="+mids+"&roleId="+roleId;
	$.ajax({
        type: "get",
        async: false,
        url: actionUrl,
        contentType: "application/json; charset=utf-8",
        dataType: "text",
        cache: false,
        success: function (data) {
	    	if(data == "true"){
	    		$.messager.alert('提示','保存成功!','info');
	    		var listUrl = contextPath +  "/role/!list.action";
            	setTimeout(function(){
            		window.location.href = listUrl;	
            	},1000);	    		
            }else if(data == "false"){
            	$.messager.alert('提示','保存失败!','info');
            }     	
        },
        error :function (XMLHttpRequest, textStatus, err) {
        }
     });	
	
}

 

 

分享到:
评论

相关推荐

    JAVA实现EASYUI树形表格(TreeGrid)代码

    JAVA实现EASYUI树形表格(TreeGrid)代码,gradle项目,内含gradle文件夹和mysql数据库文件,解压后导入mysql数据库,文件夹导入eclipse即可使用。首次使用请更新gradle项目下载JAR包,不然报错。

    java+EasyUI完整项目例子

    首先,Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。Java在Web开发中扮演着核心角色,尤其在服务器端,它用于处理业务逻辑、数据操作以及与客户端交互。在本项目中,Java可能...

    java方法实现easyui得到树的json

    java方法实现easyui得到树的json

    JQUERY EASYUI 异步树

    其中,“异步树”是 EasyUI 提供的一种用于展示层级数据的组件,它能动态地从服务器加载子节点,提高页面的加载速度并优化用户体验。 异步树的核心功能在于实现数据的分页加载,当用户展开一个节点时,只请求该节点...

    java+easyUI技术--实现增删改查功能

    在Java和EasyUI技术结合应用中,实现增删改查(CRUD)功能是Web开发中的基础且重要的环节。EasyUI是一个基于jQuery的UI库,提供了丰富的组件和样式,简化了前端界面的开发,而Java作为后端语言,通常与Spring、...

    Java后端easyui框架sql查询

    在EasyUI的场景中,ORM框架可以自动生成SQL语句,减少手动编写的工作量。 4. **分页查询**:在处理大量数据时,分页查询是必要的。Java后端需要提供接口,接受前端传递的页码和每页大小,然后构造对应的LIMIT和...

    使用easyUI实现树菜单

    EasyUI的树菜单需要特定的数据格式,通常是一个JSON数组,每个对象代表一个树节点。每个节点包含以下属性: - `id`: 节点的唯一标识。 - `text`: 显示在树上的文本。 - `children`: 子节点的数组(如果有的话)。 -...

    tree easyui java 树递归

    "tree easyui java 树递归"这个主题涉及到的就是如何在Java环境下利用EasyUI库创建一个树形结构,并通过SpringMVC框架与数据库进行交互。下面将详细阐述相关知识点。 首先,EasyUI是一个基于jQuery的UI组件库,提供...

    java jquery easyUI例子

    EasyUI是一个基于jQuery的前端组件库,它为开发者提供了大量的UI组件,如表格、树形控件、下拉菜单等,大大简化了前端界面的开发工作。官方API中文文档是学习和使用EasyUI的重要参考资料,它详尽地介绍了每个组件的...

    java源码 EasyUI-2 后台框架(仅供参考) 2018127

    EasyUI 是一个基于 jQuery 的 UI 插件集合体,它为开发者提供了丰富的界面组件,如表格、树形菜单、对话框、按钮等,使得在 Web 应用开发中构建用户界面变得更为简单快捷。这个“java源码 EasyUI-2 后台框架”是一个...

    一头扎进 easyui 视频教程 java1234出品 第2部分 共2部分

    一头扎进 easyui 视频教程 java1234出品 第2部分 共2部分

    EasyUI+java demo

    EasyUI是一款基于jQuery的轻量级前端组件库,它为开发人员提供了丰富的用户界面组件,如表格、树形结构、下拉框、按钮等,极大地简化了网页应用的开发工作。 在本项目中,你将发现两个关键的学习资源:Lession59 ...

    easyui的树形菜单展示-同步+异步方法-含java代码

    在本文中,我们将深入探讨如何使用 EasyUI 实现同步与异步方式的树形菜单,并结合后台 Java 代码进行详细讲解。 1. **同步树形菜单** 同步树形菜单是指在页面加载时,一次性获取所有数据并展示。这种方式适用于...

    利用servlet和json生成easyUI图表

    1. **数据准备**:在Servlet中,你需要创建一个Java对象或集合来存储要展示的数据,然后使用Jackson或Gson库将这些对象转换为JSON字符串。例如,如果你有一个包含销售数据的对象列表,可以使用`ObjectMapper`进行...

    easyui 树形结构样例

    2. 在`tree`的`data`属性中定义树形结构的数据,这些数据可以是JSON数组,其中每个对象表示一个树节点。 3. 配置`tree`的事件监听器,如`onLoadSuccess`、`onClick`等,以处理节点加载完成后的操作和用户的点击事件...

    基于java,easyui,websocket的聊天界面实现

    在本项目中,我们主要探讨如何使用Java、EasyUI、WebSocket和jQuery技术来构建一个实时交互的聊天界面。这是一个常见的Web应用开发场景,对于提升用户体验和实现即时通信至关重要。下面将详细阐述这些技术及其在聊天...

    Easyui异步生成树节点,动态获取树节点

    EasyUI 是一个基于 jQuery...通过以上介绍,我们了解了如何利用 EasyUI 实现异步生成树节点和动态获取树节点的功能,同时结合 DataGrid 显示表格数据。这在实际项目中可以大大提高用户界面的交互性和数据展示的灵活性。

    Java+EasyUI实现的宿舍管理系统

    【Java+EasyUI实现的宿舍管理系统】是一种基于Java编程语言,并结合了EasyUI前端框架以及mySQL数据库技术的管理信息系统。这个系统旨在高效地管理学生宿舍的分配、维护和查询等事务,为学校后勤部门提供便捷的操作...

    easyUI递归生成菜单树

    本文将深入探讨如何使用EasyUI递归生成菜单树,并结合前后台代码来实现这一功能。 首先,让我们了解菜单树的基本概念。菜单树是一种以树形结构展示数据的控件,通常用于表示层次关系的数据,如网站导航、文件系统或...

    easyUI-树形表格(TreeGrid)实现无限层级菜单

    本文将深入探讨如何使用EasyUI实现树形表格(TreeGrid),特别是处理无限层级菜单的情况。 树形表格(TreeGrid)是EasyUI中的一个特色组件,它结合了表格和树状结构的特点,允许数据以层级方式展示,常用于组织结构...

Global site tag (gtag.js) - Google Analytics