`
aslijiasheng
  • 浏览: 58371 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

SPRINGMVC EASYUI TREE递归方式获取JSON

 
阅读更多

最近需要用到EASYUI中的TREE功能,以前我是直接拼接成<UL><LI>发现这样拼完之后在更改树后对树的刷新不是很理想,现改用JSON格式,首先分析TREE中JOSN格式如下:

 

[{
	"id":1,
	"text":"流程分类",
	"children":[{
		"id":11,
		"text":"门禁流程分类",
		"checked":true
	},{
		"id":113,
		"text":"子门禁流程分类",
		"children":[{
			"id":1131,
			"text":"子子门禁流程分类"
		},{
			"id": 8,
			"text":"Async Folder",
			"state":"closed"
		}]
	}]
},{
	"id":3
	"text":"行政",
	"children":[{
		"id":"31",
		"text":"加班"
	},{
		"id":"33",
		"text":"请假"
	}]
}]


 可以看出这种模式是由三个属性所组成,ID TEXT 集合,根据分析 我们需要对此模式建立一个BEAN的结构模型,建立TREENODE:

package com.odbpo.beans;

import java.util.List;

public class TreeNode {

	private int id;

	private String text;
	
	private int pid;

	private List<TreeNode> children;

	public int getPid() {
		return pid;
	}

	public void setPid(int pid) {
		this.pid = pid;
	}

	public int getId() {
		return id;
	}

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

	public String getText() {
		return text;
	}

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

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

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

 BEAN构建完成,那么接下来分析如何往BEAN里传数据,首先分析 数据库表中结构

create table depatment(
id,--当前ID
pid,--父ID
name--显示名称
)

 接下来我们要建立一个COM.UTIL包,所递归方法放置在这个包下,以便后续多次调用方便

建立类名为:JSONFACTORY

/*
	 * 以对象形式传回前台
	 */
	public static List<TreeNode> buildtree(List<TreeNode> nodes,int id){
		List<TreeNode> treeNodes=new ArrayList<TreeNode>();
		for (TreeNode treeNode : nodes) {
			TreeNode node=new TreeNode();
			node.setId(treeNode.getId());
			node.setText(treeNode.getText());
			if(id==treeNode.getPid()){
				node.setChildren(buildtree(nodes, node.getId()));
				treeNodes.add(node);
			}
			
		}
		return treeNodes;
	}
	

 完成以上工作后我们就要在控制器中使用在DAO中建立好的查询方法,这里DAO中写法就不细说了;

控制器写法如下:

	@RequestMapping("/flow_tree")
	@ResponseBody
	public List<TreeNode> getTree(){
		List<TreeNode> nodes=new ArrayList<TreeNode>();
		List<FlowSortTable> list_all=flowSortTableServiceImpl.findAll();
		for (FlowSortTable flowSortTable : list_all) {
			TreeNode treeNode=new TreeNode();
			treeNode.setId(flowSortTable.getSortId());
			treeNode.setPid(flowSortTable.getSortPartmentId());
			treeNode.setText(flowSortTable.getSortName());
			nodes.add(treeNode);
		}
		List<TreeNode> treeNodes=JsonTreeFactory.buildtree(nodes,0);
		return treeNodes;
	}

 以上工作结束,我们就可以在前台使用EASYUITREE模式了

将此代码 放在$(document).ready(function(){})中

$("#tt1").tree({
  			url: '${contextPath}/main/flow/flow_tree.html',
  			onClick:function(node){
  				$("#sort").css("display","block");
  				$("#save").hide();
  				$("#update").show();
  				odbpo_combobox("#flowType",'${contextPath}/main/flow/flowSelect.html',"flowId","flowName");
  				var pnode=$(this).tree('getParent',node.target);
  				$("#flowType").combobox('setValue', pnode.id);
  				$("#node_id").val(node.id);
  				$("#node_text").val(node.text);
				console.debug(node.id);
				console.debug(node.text);			
  			}
  		})

 HTML构建:

<ul id="tt1">
			
		</ul>

 启动TOMCAT预览就可以看到一个树形图的效果了!

 

 

2
1
分享到:
评论
2 楼 aslijiasheng 2014-01-05  
swyma 写道
感觉这样只能取到root结点的哦,children是null的
都可以取到的
1 楼 swyma 2014-01-04  
感觉这样只能取到root结点的哦,children是null的

相关推荐

    tree easyui java 树递归

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

    easyUI-springmvc-tree-demo

    《easyUI与SpringMVC整合实现Tree组件操作详解》 在Web开发中,前端界面的交互性和用户体验至关重要,其中树形结构(Tree)组件是一种常用的数据展示方式,它能够清晰地展示层次关系,便于用户浏览和操作。EasyUI是...

    Java Spring4集成MyBatis SpringMVC JQuery EasyUI 后台框架

    使用了SpringMVC框架,Spring4的xml配置和注解配置。 5. 前台展示页面使用了JQuery EasyUI的布局、列表和消息组件。 6. 系统实现了较为完善的用户模块,对用户数据实现了增、删、改、查、分页等的功能。

    springmvc-easyui-tree增删改

    现在我们来详细探讨一下"springmvc-easyui-tree增删改"这个主题。 在SpringMVC中,实现数据的增删改通常涉及以下步骤: 1. **模型**:首先,你需要定义一个Java类来表示你的数据模型。例如,如果我们正在处理一个...

    maven mybatis springmvc easyui 开源

    【标题】:“maven mybatis springmvc easyui 开源”是一个综合性的项目,结合了多个技术框架,旨在创建一个高效、可维护的Web应用程序。这个开源项目的核心组件包括Maven作为构建工具,MyBatis作为持久层框架,...

    mybatis+spring+springmvc+easyui做的一个登陆,增删改的项目实例

    本项目实例是一个基于Java技术栈,融合了MyBatis、Spring、SpringMVC以及EasyUI框架的完整登录和数据管理应用。这个应用的核心目标是实现用户登录功能,并提供增删改查(CRUD)的数据操作界面,具体表现为左侧菜单栏...

    springMvc+mybaties+easyui

    这个demo主要是mybatie和Spring和easyui的整合,spring的相关使用在index都在页面,整合easyui做的树形菜单和分页在login页面,数据库sql也在代码中,一应jar齐全,注释也比较齐全,导入立马能够使用。

    sqlserver 版的java springmvc easyui 增删改

    在本文中,我们将深入探讨如何在Java Spring MVC框架下结合SQL Server数据库以及EasyUI前端库进行数据的增、删、改操作。这对于初学者来说是一个非常实用的学习课题,因为这三者构成了一个基本的Web应用后台开发环境...

    springmvc加入json支持

    在Spring MVC框架中,JSON(JavaScript Object Notation)支持是必不可少的,因为它允许应用程序与客户端进行数据交换,尤其是在构建RESTful服务时。JSON格式轻便、易于读写,且被广泛接受为网络通信的标准数据格式...

    YXServer springMVC easyUI

    "YXServer springMVC easyUI" 是一个基于SpringMVC框架,并结合了EasyUI前端库的项目。这个项目的核心是构建一个具有左侧导航栏的Web应用,旨在提供用户友好的交互界面和高效的后台服务。 SpringMVC是Spring框架的...

    bbs_springMVC_bootstrap_EasyUI

    这是一个简单的论坛项目基于springMVC+Spring+hibernate,包括前台和后台,前台页面使用的是bootstrap,后台使用的是EasyUI技术, 这个项目可以让大家对bootstrap和EasyUI有很好的了解

    spring+springMVC+mybatis+easyui 增删查改以及分页源码

    标题 "spring+springMVC+mybatis+easyui 增删查改以及分页源码" 描述了一个使用SSM(Spring、SpringMVC、MyBatis)框架与EasyUI前端库联合实现的Web应用项目,特别是关注于CRUD(创建、读取、更新、删除)操作和无...

    Spring SpringMVC Mybatis easyui

    标题 "Spring SpringMVC Mybatis easyui" 描述了一个整合了Spring、SpringMVC、Mybatis和EasyUI技术的项目,这些技术都是在Java Web开发中广泛应用的组件。接下来,我们将详细探讨这些技术以及它们如何协同工作。 1...

    SpringMVC利用Ajax,JQuery交互Json

    本教程将深入讲解如何在SpringMVC中利用Ajax和JQuery来交互Json数据。 首先,让我们理解什么是Json。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...

    springmvc+hibernate+easyui

    在"springmvc+hibernate+easyui"项目中,可能使用EasyUI的DataGrid组件展示数据列表,结合SpringMVC的ModelAndView或Model对象,将后端查询结果转化为JSON格式,通过Ajax请求传递到前端,最终动态渲染数据列表。...

    springmvc + jquery + ajax + json 异步传递数据

    SpringMVC、jQuery、Ajax和JSON这四个技术的结合,为开发者提供了一种高效且灵活的方式来实现这一功能。接下来,我们将深入探讨这些技术以及它们如何协同工作。 SpringMVC是Spring框架的一部分,是一个强大的MVC...

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    在IT行业中,SpringMVC和JSON是两个非常重要的技术组件,尤其在开发Web应用程序时。SpringMVC作为Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构支持,而JSON则是一种轻量级的数据交换格式,常用于...

    springmvc-demo08-返回JSON数据.zip

    在Spring MVC框架中,返回JSON数据是常见的交互方式,尤其在构建RESTful API时更为重要。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁、易读、易于解析的特性,被广泛应用于前后端数据...

    easyui+springmvc权限管理

    此外,SpringMVC和EasyUI结合时,通常使用JSON进行前后端的数据交换。当用户操作权限界面时,前端通过Ajax发送JSON请求到后端,SpringMVC接收请求,处理业务逻辑,然后返回JSON响应。EasyUI根据响应更新界面,显示...

    springMVC4.1+easyUI(单项目)

    综上所述,"springMVC4.1+easyUI(单项目)"是一个集成了SpringMVC 4.1和EasyUI的后台管理系统,利用SpringMVC的强大功能处理后端逻辑,结合EasyUI的简洁易用的前端组件,构建了一个高效且用户友好的管理平台。...

Global site tag (gtag.js) - Google Analytics