- 浏览: 348513 次
- 性别:
- 来自: 沈阳
文章分类
最新评论
-
haiw:
谢谢分享
Oracle 的递归查询(树型查询) -
nomandia:
除非是通过open打开的窗口,否则没法close的
JS 关闭当前页面 -
c30989239:
注意 SimpleDateFormat 是非线程安全的
Java 获取网络时间并在jsp中显示 -
归来朝歌:
不错,以后可能用得上
Java 操作Excel -
luhantu:
不错!学习了
Java 操作Excel
最近做项目用到了前端框架easyUI,以下是easyUI tree 的前后台实现。
1.前端页面使用easyui的tree
<ul id="tree"></ul>
$("#tree").tree({
url:'orgManage.do',
}
});
2.创建TreeJson的dto
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONObject;
/**
* easui中的tree_data.json数据,只能有一个root节点
* [{
"id":1,
"text":"Folder1",
"iconCls":"icon-save",
"children":[{
"text":"File1",
"checked":true
}]
}]
* 提供静态方法formatTree(List<TreeJson> list) 返回结果
* TreeJson.formatTree(treeJsonlist) ;
*/
public class TreeJson implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String id ;
private String pid ;
private String text ;
private String iconCls ;
private String state ;
private String checked ;
private JSONObject attributes = new JSONObject() ;
private List<TreeJson> children = new ArrayList<TreeJson>() ;
public static List<TreeJson> formatTree(List<TreeJson> list) {
TreeJson root = new TreeJson();
TreeJson node = new TreeJson();
List<TreeJson> treelist = new ArrayList<TreeJson>();// 拼凑好的json格式的数据
List<TreeJson> parentnodes = new ArrayList<TreeJson>();// parentnodes存放所有的父节点
if (list != null && list.size() > 0) {
root = list.get(0) ;
//循环遍历oracle树查询的所有节点
for (int i = 1; i < list.size(); i++) {
node = list.get(i);
if(node.getPid().equals(root.getId())){
//为tree root 增加子节点
parentnodes.add(node) ;
root.getChildren().add(node) ;
}else{//获取root子节点的孩子节点
getChildrenNodes(parentnodes, node);
parentnodes.add(node) ;
}
}
}
treelist.add(root) ;
return treelist ;
}
private static void getChildrenNodes(List<TreeJson> parentnodes, TreeJson node) {
//循环遍历所有父节点和node进行匹配,确定父子关系
for (int i = parentnodes.size() - 1; i >= 0; i--) {
TreeJson pnode = parentnodes.get(i);
//如果是父子关系,为父节点增加子节点,退出for循环
if (pnode.getId().equals(node.getPid())) {
pnode.setState("closed") ;//关闭二级树
pnode.getChildren().add(node) ;
return ;
} else {
//如果不是父子关系,删除父节点栈里当前的节点,
//继续此次循环,直到确定父子关系或不存在退出for循环
parentnodes.remove(i) ;
}
}
}
}
3.mapper.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lafecat.dao.OrgMapper">
<resultMap id="orgMap" type="com.lafecat.model.TreeJson" >
<id column="Organization_ID" property="id" jdbcType="VARCHAR" />
<result column="OrganizationName" property="text" jdbcType="VARCHAR" />
<result column="ParentID" property="pid" jdbcType="VARCHAR" />
</resultMap>
<!--获取所有组织机构信息-->
<select id="getOrgInfo" resultMap="orgMap">
SELECT t.`Organization_ID`,t.`OrganizationName`,t.`ParentID` FROM TE_Organization t
</select>
</mapper>
4.ServiceImpl实现
public List<TreeJson> getOrgInfo() {
List<TreeJson> treeList =orgMapper.getOrgInfo();
treeList = TreeJson.formatTree(treeList);
return treeList;
}
5.Controller层实现
public void listOrgs(HttpServletResponse res){
List<TreeJson> list = orgService.getOrgInfo();
String jsonString= JSONArray.fromObject(list).toString();
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
res.setCharacterEncoding("UTF-8");
res.getWriter().print(jsonString);
res.getWriter().flush();
res.getWriter().close();
}
1.前端页面使用easyui的tree
<ul id="tree"></ul>
$("#tree").tree({
url:'orgManage.do',
}
});
2.创建TreeJson的dto
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONObject;
/**
* easui中的tree_data.json数据,只能有一个root节点
* [{
"id":1,
"text":"Folder1",
"iconCls":"icon-save",
"children":[{
"text":"File1",
"checked":true
}]
}]
* 提供静态方法formatTree(List<TreeJson> list) 返回结果
* TreeJson.formatTree(treeJsonlist) ;
*/
public class TreeJson implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private String id ;
private String pid ;
private String text ;
private String iconCls ;
private String state ;
private String checked ;
private JSONObject attributes = new JSONObject() ;
private List<TreeJson> children = new ArrayList<TreeJson>() ;
public static List<TreeJson> formatTree(List<TreeJson> list) {
TreeJson root = new TreeJson();
TreeJson node = new TreeJson();
List<TreeJson> treelist = new ArrayList<TreeJson>();// 拼凑好的json格式的数据
List<TreeJson> parentnodes = new ArrayList<TreeJson>();// parentnodes存放所有的父节点
if (list != null && list.size() > 0) {
root = list.get(0) ;
//循环遍历oracle树查询的所有节点
for (int i = 1; i < list.size(); i++) {
node = list.get(i);
if(node.getPid().equals(root.getId())){
//为tree root 增加子节点
parentnodes.add(node) ;
root.getChildren().add(node) ;
}else{//获取root子节点的孩子节点
getChildrenNodes(parentnodes, node);
parentnodes.add(node) ;
}
}
}
treelist.add(root) ;
return treelist ;
}
private static void getChildrenNodes(List<TreeJson> parentnodes, TreeJson node) {
//循环遍历所有父节点和node进行匹配,确定父子关系
for (int i = parentnodes.size() - 1; i >= 0; i--) {
TreeJson pnode = parentnodes.get(i);
//如果是父子关系,为父节点增加子节点,退出for循环
if (pnode.getId().equals(node.getPid())) {
pnode.setState("closed") ;//关闭二级树
pnode.getChildren().add(node) ;
return ;
} else {
//如果不是父子关系,删除父节点栈里当前的节点,
//继续此次循环,直到确定父子关系或不存在退出for循环
parentnodes.remove(i) ;
}
}
}
}
3.mapper.xml配置
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.lafecat.dao.OrgMapper">
<resultMap id="orgMap" type="com.lafecat.model.TreeJson" >
<id column="Organization_ID" property="id" jdbcType="VARCHAR" />
<result column="OrganizationName" property="text" jdbcType="VARCHAR" />
<result column="ParentID" property="pid" jdbcType="VARCHAR" />
</resultMap>
<!--获取所有组织机构信息-->
<select id="getOrgInfo" resultMap="orgMap">
SELECT t.`Organization_ID`,t.`OrganizationName`,t.`ParentID` FROM TE_Organization t
</select>
</mapper>
4.ServiceImpl实现
public List<TreeJson> getOrgInfo() {
List<TreeJson> treeList =orgMapper.getOrgInfo();
treeList = TreeJson.formatTree(treeList);
return treeList;
}
5.Controller层实现
public void listOrgs(HttpServletResponse res){
List<TreeJson> list = orgService.getOrgInfo();
String jsonString= JSONArray.fromObject(list).toString();
res.setHeader("Pragma", "No-cache");
res.setHeader("Cache-Control", "no-cache");
res.setCharacterEncoding("UTF-8");
res.getWriter().print(jsonString);
res.getWriter().flush();
res.getWriter().close();
}
发表评论
-
springmvc整合cxf webservice
2016-03-15 16:54 1345springmvc中整合cxf webservice。 ... -
JSTL fn函数中字符串拼接
2015-11-30 11:35 5277关于JSTL的标签,在网上查了很久,都是介绍fn ... -
Java 获取网络时间并在jsp中显示
2015-09-07 14:15 1902开发中经常会遇到需要将服务器时间或者网络时间显示在 ... -
记录--ReflectionUtil
2015-07-22 10:51 834import java.lang.reflect.Field; ... -
JSTL foreach及if when标签使用
2015-07-22 08:48 2095需要在jsp中加入以下标签库和函数库 <%@ ta ... -
Java 获取服务器IP和本地Ip
2015-07-21 21:39 8747在项目中经常会遇到需要获取服务器的IP和本地IP, ... -
Mybatis 模糊查询
2015-06-11 18:42 664参数中直接加入%% param.setUsernam ... -
MyBatis之增加删除修改
2015-06-11 16:32 1703insert、update、delete这三个元素分别用于执行 ... -
MyBatis 传入参数parameterType详解
2015-06-11 16:29 18808在MyBatis的select、insert、update ... -
Java 操作Excel
2015-06-10 20:54 2326前不久做过Excel的导入导出功能,其主要的难点是java如何 ... -
MD5加密工具类
2015-06-03 18:47 1353package base; /** * MD5加密算法 * ... -
spring+mybatis配置
2015-02-08 17:04 8921.用spring配置mybatis <?xml ver ... -
JAVA 处理JSON工具类
2014-12-31 13:49 1608以下代码为Java处理json数据的工具类,以备后用 pac ... -
Java解析及读取Json数据
2014-12-31 13:46 18741.JSON介绍 JSON比XML简单,主要体现在传输相 ... -
新版SSH整合(备用)
2014-09-01 19:40 1665在网上找的S4S2H4架构实现,现记录一下,以备后用。 附件中 ... -
jsp静态化和伪静态化
2014-06-12 16:21 838首先说说为什么要静态化。 对于现在的Web Applicat ... -
Struts2实现Excel导入
2014-05-28 17:15 2617除Struts2必须的jar包外,还需要jar包:poi ... -
JSP自定义标签的创建和使用
2014-04-18 10:45 1272摘自http://jzinfo.iteye.com/blog/ ... -
ssh项目中strust2从2.0.11升级到2.3.15.1详细步骤
2014-03-28 15:33 2249将ssh项目中strust2从2.0.11升级到2.3.15. ... -
MyEclipse下创建的项目 导入eclipse(转载)
2014-03-19 17:15 819FROM:http://www.cnblogs.com/zho ...
相关推荐
springMVC+Mybatis+spring+easyui+zTree+ueditor+higchart IT信息管理系统,需要tomcat+sqlsever+jdk1.6,源代码提供了数据库模型,数据库备份文件,以及服务启动注意事项。系统模块有:权限管理、用户管理、部门...
1. 该框架的开发环境为EclipseJEE集成开发工具。 2. 基于Spring4框架的三层架构开发完成。 3. Mybatis版本为:3.2.8。... 系统实现了较为完善的用户模块,对用户数据实现了增、删、改、查、分页等的功能。
在“ssm+mysql+easyui-tree”项目中,MyBatis可能会用于与MySQL数据库交互,执行查询省市区数据的SQL语句,如获取所有省份、根据省份获取城市,以及根据城市获取区县的SQL。 EasyUI是一套基于jQuery的UI库,提供了...
在本项目示例中,我们探索的是一个基于EasyUI、MyBatis和SpringMVC的Web应用程序开发。EasyUI是一个轻量级的JavaScript框架,它提供了丰富的UI组件,如表格、下拉菜单、树形结构等,使得前端界面的开发变得简单易行...
在IT行业中,SpringMVC和EasyUI是两个非常重要的技术组件。SpringMVC是Spring框架的一个模块,专门用于处理Web应用程序的模型-视图-控制器(MVC)架构,而EasyUI则是一个基于jQuery的前端UI库,提供了一系列美观且...
项目是关于搭建easyui+springmvc+mybatis+mysql 来实现管理系统的功能,其中还使用了funcharts来实现报表的形式。里面有sql文件,导入到数据库中,加载好项目,就可以运行。
本项目"easy ui tree 前后端树形结构项目 权限管理demo"提供了一个完整的解决方案,使用了Easy UI Tree库来实现前端的树形结构,并结合SSM(Spring、SpringMVC、MyBatis)框架和MySQL数据库进行后端处理。...
在本案例中,EasyUI 被应用于一个 CRM(客户关系管理)系统中,该系统由 Java 技术栈开发,结合了 SpringMVC 框架,实现了高效且灵活的后端逻辑处理。 1. **EasyUI 知识点**: - **组件库**:EasyUI 提供了诸如 ...
spring,springmvc,mybatis(框架) solr(搜索服务),redis(缓存),easyUI(后台系统页面) ### 数据库设计 tb_user用户表(id,username,password,phone,email,created,updated) tb_item商品表(id,title,sell_point,...
以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架...树形结构:EasyUI Tree 日期插件:JQuery Date 弹窗框架:zDialog Cookie保存:JQuery Cookie 富文本编辑器:Baidu UEDitor 前端框架:Twitter Bootstrap
spring,springmvc,mybatis(框架) solr(搜索服务),redis(缓存),easyUI(后台系统页面) ### 数据库设计 tb_user用户表(id,username,password,phone,email,created,updated) tb_item商品表(id,title,sell_point,...
技术栈为SpringBoot,SSM,Mysql,thymeleaf等毕业设计 :briefcase: MD5加密 :locked: SpringBoot与SSM框架 :artist_palette: easyui与h-ui框架 :Christmas_tree: 百里香叶前置引擎 :four_leaf_clover: MySQL数据库 ...