public class TreeUtil {
public static List<CTree>getTree(List<Tree> list){
List<CTree> tree= new ArrayList<CTree>();
List<CTree> parent= new ArrayList<CTree>();
List<CTree> chil =new ArrayList<CTree>();
if(list==null){
return tree;
}
for(Tree ca:list){
if(ca.getLeaf()==0){//取出所有根节点
CTree pt=new CTree();
pt.setId(ca.getId());
pt.setCid(ca.getCid());
pt.setCls(ca.getCls());
pt.setText(ca.getText());
parent.add(pt);
}else{//取出所有子节点
CTree ch=new CTree();
ch.setId(ca.getId());
ch.setCid(ca.getCid());
ch.setCls(ca.getCls());
ch.setText(ca.getText());
ch.setUrl(ca.getUrl());
ch.setLeaf(ca.getLeaf()==1?true:false);
chil.add(ch);
}
}
for(CTree pr:parent){
List<CTree> child= new ArrayList<CTree>();
for(CTree cd:chil){
if(pr.getCid()==cd.getCid()){
child.add(cd);
pr.setChildren(child);
}
}
tree.add(pr);
}
return tree;
}
}
package com.byd.entity;
import java.io.Serializable;
@SuppressWarnings("serial")
public class Tree implements Serializable{
private String text;
private int id;
private int leaf;
private String cls;
private String url;
private int cid;//类别ID
public Tree(){
}
/**
* @return the text
*/
public String getText() {
return text;
}
/**
* @param text the text to set
*/
public void setText(String text) {
this.text = text;
}
/**
* @return the cls
*/
public String getCls() {
return cls;
}
/**
* @param cls the cls to set
*/
public void setCls(String cls) {
this.cls = cls;
}
/**
* @return the cid
*/
public int getCid() {
return cid;
}
/**
* @param cid the cid to set
*/
public void setCid(int cid) {
this.cid = cid;
}
/**
* @return the leaf
*/
public int getLeaf() {
return leaf;
}
/**
* @param leaf the leaf to set
*/
public void setLeaf(int leaf) {
this.leaf = leaf;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @return the url
*/
public String getUrl() {
return url;
}
/**
* @param url the url to set
*/
public void setUrl(String url) {
this.url = url;
}
}
分享到:
相关推荐
7. **数据绑定**:EXTJS的树结构通常与后台数据源(如JSON或XML)绑定。当对树进行编辑时,相应的数据模型也需要同步更新。可以使用`store.load`或`store.sync`方法将更改同步到服务器。 8. **拖放操作**:EXTJS...
当接收到前端ExtJS的请求时,Servlet会解析请求参数,执行相应的业务逻辑,然后将结果封装成JSON格式的字符串。在Java中,可以使用org.json库或者Jackson库来方便地序列化和反序列化Java对象为JSON。 JSON作为一种...
在本篇ExtJs学习资料中,我们探讨了如何从服务器获取JSON数据并进行分页处理。这是一项在Web应用程序中非常常见的任务,特别是在构建数据密集型界面时。下面我们将详细阐述实现这一功能的关键步骤和涉及的技术点。 ...
### ExtJs树形结构封装使用说明 #### 一、概述 在现代Web开发中,树形结构是非常常见的一种数据展示方式,特别是在企业级应用中,用于展现组织结构、文件系统等场景。ExtJs是一个功能强大的JavaScript框架,它提供...
`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,非常适合于在服务器和客户端之间传输数据。我们将通过实例...
EXTJS与Structs之间的通信通常通过AJAX请求完成,请求携带参数到服务器,Structs根据这些参数执行数据库查询,得到结果后,再将结果集封装成JSON对象返回给EXTJS。EXTJS接收到JSON数据后,可以解析并渲染到界面上,...
在EXTJS4中,下拉菜单树(ComboBox+Tree)是一种高级UI组件,它结合了ComboBox的下拉选择框和TreePanel的树形结构,提供了一种用户友好的交互方式,用于展示层次化的数据。这种组件特别适用于需要从多个选项中进行...
当用户在前端进行操作,如点击树节点,请求会被发送到服务器,Struts会处理这个请求,通过iBATIS与Oracle数据库交互,获取或更新数据,然后将结果封装成JSON格式返回给ExtJS,ExtJS再根据返回的数据动态更新...
6. **ExtJS**:ExtJS是一个用于构建富客户端Web应用的JavaScript库,它提供了一系列预先封装的组件,如表格、树形结构、图表等,可以帮助开发者快速创建功能丰富的用户界面。ExtJS使用MVC模式,支持数据绑定,且与...
例如,我们可以定义一个ExtJS模型,它的字段与SpringMVC中的实体类属性相对应,通过JSON数据进行同步。 在SpringMVC中,Controller是处理用户请求的核心组件。我们可以使用`@RequestMapping`注解来定义控制器方法...
在这个"extjs动态表格实例"中,我们将探讨如何使用ExtJS封装Grid并从Struts2框架的后台获取数据。 首先,让我们了解ExtJS中的Grid组件。Grid是ExtJS的一个关键组件,它用于展示结构化数据,并支持多种操作,如排序...
本篇文章将深入探讨基于ExtJS 5.1的列表封装,以及与之相关的`zGrid.js`和`TaskList.js`两个文件可能包含的内容。 首先,`ExtJS 5.1`版本引入了许多改进和新特性,包括性能优化、新的布局管理器、更好的触摸设备...
5、演示json数据封装。6、演示前台和后台数据的传递。7、演示权限管理。8、系统已经后台管理的基本架构,适合二次开发。注意事项:1、开发环境为Visual Studio 2010,数据库为SQL Server 2008,数据库文件在DB_data...
- **数据封装**:在Ajax请求中,JSON格式被用来封装要发送到服务器的数据,如表单字段值。这可以通过JavaScript对象创建,然后转化为JSON字符串。 ```javascript let data = { username: 'John Doe', password: ...
这里的`UserAction`类实现了Struts2的Action接口,通过调用`UserDAO`类的方法获取数据,并将其封装成JSON格式返回。 ##### 3. JavaScript脚本实现 JavaScript部分主要用于实现前端的分页效果。下面是一段简化的...
Extjs4 带复选框的树(Checkbox tree) Extjs4 新的布局方式 Extjs4 锁定表头(Locking Grid)功能 Extjs4.0 MVC实例 Extjs4.0动态填充combobox数据 Extjs4中up()和down()的用法 ExtJS4学习笔记(一)---window的创建 ...
智能化图书管理系统源码 Extjs图书管理系统源码 自动生成图表展示程序设置更换皮肤功能柱状图管理主界面图书归还图形分析自动生成图表展示程序 设置更换皮肤功能柱状图...5、演示json数据封装。 6、演示前台和后台
以上两个例子展示了如何利用ExtJS封装出高度复用的组件。通过这种方式,不仅可以简化前端开发流程,还可以提高代码的质量和可维护性。 ### 总结 结合ExtJS与系统切分模块设计,不仅可以有效提升Web应用程序的用户...
它提供了一系列预先封装好的UI组件,如表格、表单、树形视图、图表等,开发者可以通过简单的配置和调用来实现复杂的页面布局和交互。在通讯录程序中,EXTJS可能被用来设计用户友好的界面,如联系人列表、分组管理、...