最近需要用到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预览就可以看到一个树形图的效果了!
相关推荐
"tree easyui java 树递归"这个主题涉及到的就是如何在Java环境下利用EasyUI库创建一个树形结构,并通过SpringMVC框架与数据库进行交互。下面将详细阐述相关知识点。 首先,EasyUI是一个基于jQuery的UI组件库,提供...
《easyUI与SpringMVC整合实现Tree组件操作详解》 在Web开发中,前端界面的交互性和用户体验至关重要,其中树形结构(Tree)组件是一种常用的数据展示方式,它能够清晰地展示层次关系,便于用户浏览和操作。EasyUI是...
使用了SpringMVC框架,Spring4的xml配置和注解配置。 5. 前台展示页面使用了JQuery EasyUI的布局、列表和消息组件。 6. 系统实现了较为完善的用户模块,对用户数据实现了增、删、改、查、分页等的功能。
现在我们来详细探讨一下"springmvc-easyui-tree增删改"这个主题。 在SpringMVC中,实现数据的增删改通常涉及以下步骤: 1. **模型**:首先,你需要定义一个Java类来表示你的数据模型。例如,如果我们正在处理一个...
【标题】:“maven mybatis springmvc easyui 开源”是一个综合性的项目,结合了多个技术框架,旨在创建一个高效、可维护的Web应用程序。这个开源项目的核心组件包括Maven作为构建工具,MyBatis作为持久层框架,...
本项目实例是一个基于Java技术栈,融合了MyBatis、Spring、SpringMVC以及EasyUI框架的完整登录和数据管理应用。这个应用的核心目标是实现用户登录功能,并提供增删改查(CRUD)的数据操作界面,具体表现为左侧菜单栏...
这个demo主要是mybatie和Spring和easyui的整合,spring的相关使用在index都在页面,整合easyui做的树形菜单和分页在login页面,数据库sql也在代码中,一应jar齐全,注释也比较齐全,导入立马能够使用。
在本文中,我们将深入探讨如何在Java Spring MVC框架下结合SQL Server数据库以及EasyUI前端库进行数据的增、删、改操作。这对于初学者来说是一个非常实用的学习课题,因为这三者构成了一个基本的Web应用后台开发环境...
在Spring MVC框架中,JSON(JavaScript Object Notation)支持是必不可少的,因为它允许应用程序与客户端进行数据交换,尤其是在构建RESTful服务时。JSON格式轻便、易于读写,且被广泛接受为网络通信的标准数据格式...
"YXServer springMVC easyUI" 是一个基于SpringMVC框架,并结合了EasyUI前端库的项目。这个项目的核心是构建一个具有左侧导航栏的Web应用,旨在提供用户友好的交互界面和高效的后台服务。 SpringMVC是Spring框架的...
这是一个简单的论坛项目基于springMVC+Spring+hibernate,包括前台和后台,前台页面使用的是bootstrap,后台使用的是EasyUI技术, 这个项目可以让大家对bootstrap和EasyUI有很好的了解
标题 "spring+springMVC+mybatis+easyui 增删查改以及分页源码" 描述了一个使用SSM(Spring、SpringMVC、MyBatis)框架与EasyUI前端库联合实现的Web应用项目,特别是关注于CRUD(创建、读取、更新、删除)操作和无...
标题 "Spring SpringMVC Mybatis easyui" 描述了一个整合了Spring、SpringMVC、Mybatis和EasyUI技术的项目,这些技术都是在Java Web开发中广泛应用的组件。接下来,我们将详细探讨这些技术以及它们如何协同工作。 1...
本教程将深入讲解如何在SpringMVC中利用Ajax和JQuery来交互Json数据。 首先,让我们理解什么是Json。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...
在"springmvc+hibernate+easyui"项目中,可能使用EasyUI的DataGrid组件展示数据列表,结合SpringMVC的ModelAndView或Model对象,将后端查询结果转化为JSON格式,通过Ajax请求传递到前端,最终动态渲染数据列表。...
SpringMVC、jQuery、Ajax和JSON这四个技术的结合,为开发者提供了一种高效且灵活的方式来实现这一功能。接下来,我们将深入探讨这些技术以及它们如何协同工作。 SpringMVC是Spring框架的一部分,是一个强大的MVC...
在IT行业中,SpringMVC和JSON是两个非常重要的技术组件,尤其在开发Web应用程序时。SpringMVC作为Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构支持,而JSON则是一种轻量级的数据交换格式,常用于...
在Spring MVC框架中,返回JSON数据是常见的交互方式,尤其在构建RESTful API时更为重要。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,因其简洁、易读、易于解析的特性,被广泛应用于前后端数据...
此外,SpringMVC和EasyUI结合时,通常使用JSON进行前后端的数据交换。当用户操作权限界面时,前端通过Ajax发送JSON请求到后端,SpringMVC接收请求,处理业务逻辑,然后返回JSON响应。EasyUI根据响应更新界面,显示...
综上所述,"springMVC4.1+easyUI(单项目)"是一个集成了SpringMVC 4.1和EasyUI的后台管理系统,利用SpringMVC的强大功能处理后端逻辑,结合EasyUI的简洁易用的前端组件,构建了一个高效且用户友好的管理平台。...