Ztree的简单使用和后台交互的写法(二)
针对Ztree的简单使用和后台交互的写法(一)中的树进行改进
1.增加节点的权限
由页面的当前用户,决定树的根节点 然后动态获取树的详细节点:
初始化函数为:
function init(){
//初始化的时候,先将当前用户发送给后台,获取该网评员的权限(所属部门,部门ID)
$.ajax({
url:baseCtx+"/media/RootNodebyCuruser.action",
data:{ WPY_ID:curuser},//curuser:当前用户的ID,WPY_ID为传入后台数据的字段名
type : 'post',
async : false,
dataType : "json",
success: function(data){
var org_id=data[0].ORG_ID;//获取当前用户对应树的根节点ID
var org_name=data[0].ORG_NAME;//当前用户对应的根节点name
//成功后回调,向后台发送权限 并获取相应权限下的树节点数据
$.post(baseCtx+"/media/getOrgZTreebyCuruser.action",{id: org_id, name: org_name},function(data){
//其中id和name是传入后台的参数,值分别为根据当前用户获取的 部门ID:org_id和部门名称:org_name
var result= $.parseJSON(data);//解析树节点
rw_tree=$.fn.zTree.init($("#tree1"),setting, result);
});
},
});
2.页面向后台请求action的写法
/**
* 有权限的Ztree树,通过当前用户的ID获取树的根节点信息(节点 的部门ID, 节点的部门名称)---------------------------------------
* @return
*/
@Action(value = "getOrgZTreebyCuruser")
public String getOrgZTreebyCuruser(){
List<Map<String, Object>> resultList = new ArrayList<Map<String, Object>>();
//第一级数据(根节点,得加判断)
Map<String, Object> orgMap = new HashMap<String, Object>();
orgMap.put("open", true);
orgMap.put("id", id);
orgMap.put("name", name);
resultList.add(orgMap);
//第二级数据(下级部门)
List<Map<String, Object>> OrgresultList1 = new ArrayList<Map<String, Object>>();
OrgresultList1 = orgZTreeBPO.getOrgList(orgMap);
//判断列表是否为空
if(null != OrgresultList1 && OrgresultList1.size() !=0)
{
//如果不为空,则他有下级部门,那么该节点属于父节点
orgMap.put("isParent", true);
for (Map<String, Object> map1 : OrgresultList1) {
resultList.add(map1);
//获取第三级数据
List<Map<String, Object>> OrgresultList2 = new ArrayList<Map<String, Object>>();
OrgresultList2 = orgZTreeBPO.getOrgList(map1);
if(null != OrgresultList2 && OrgresultList2.size() !=0)
{
for (Map<String, Object> map2 : OrgresultList2) {
resultList.add(map2);
//获取第四级数据
List<Map<String, Object>> OrgresultList3 = new ArrayList<Map<String, Object>>();
OrgresultList3 = orgZTreeBPO.getOrgList(map2);
if(null != OrgresultList3 && OrgresultList3.size() !=0)
{
for (Map<String, Object> map3 : OrgresultList3) {
resultList.add(map3);
}
}
}
}
}
}
outputJson(resultList);
System.out.println(resultList);
return NONE;
}
3.xml中访问数据库
增加当前用户ID获取所属部门和部门ID,name的语句
4.其他
在bpo,mapper中分别写入对应的方法接口和实现。
注:getOrgList 是根据当前节点获取下级节点的实现
Ztree的简单使用和后台交互的写法(二)的更多相关文章
- Ztree的简单使用和后台交互的写法(一)
一.引入ztree的头文件 <!-- 引入ztree/--> <script type="text/javascript" src="${pageCon ...
- ajax简单后台交互
ajax简单后台交互 1,扯淡 单身的生活,大部分时间享受自由,小部分时间忍受寂寞. 生活有时候,其实蛮苦涩,让人难以下咽.那些用岁月积累起来的苦闷,无处宣泄,在自己的脑海里蔓延成一片片荆棘,让你每每 ...
- 简单web网页与SSM后台交互
简单web网页与SSM后台交互 情况说明 如今,已经搭建好SSM后台开发环境,并且可以经由postman工具测试成功.现在尝试写出web前端网页,通过实现简单的提交.注册.查询功能来加深对前后端数据传 ...
- Extjs 4.2 Grid增删改及后台交互(Java)
上次发了Easyui Datagrid的增删改查的使用学习记录后一直想整理下基于Extjs4.2的Grid学习使用记录.苦于抽不出时间,一直拖到现在.不得不说,Extjs确实很强大,新版的Neptun ...
- 通过ajax前端后台交互/登录页和注册页前端后台交互详解/前端后台交互基础应用/几个后台函数的基础应用/php文件函数基础应用/php字符传函数基础应用/php数组函数基础应用
前 言 PHP 学习了好久的PHP,今天做一个可以后台交互的登录页和注册页,没做什么判断,简单的了解一下. 具体的内容分析如下: ① PHP中的数据传输-->>由注册页传输 ...
- PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功能
在之前的学习过程中我们接触过前后台数据请求交互的方法有表单提交.AJAX请求以及Angularjs中的$http,今天我们尝试在PHP中使用 $_GET 与$_POST 实现简单的前后台数据传输交互功 ...
- 如何用CropBox实现头像裁剪并与java后台交互
如何用CropBox实现头像裁剪并与java后台交互 参考网站:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob 参考: http://blo ...
- js与后台交互详述(入门篇)
很多新手前端在初期学习的时候往往把注意力放在如何编写页面,如何编写效果上,群里有个朋友问我js是如何与后台交互的,我简单的说一下. 首先需要知道两个东西,一个是客户端,一个是服务器,客户端其实就是我们 ...
- 项目中简单使用ztree,简单数据。
由于公司架构较旧,使用的jdk版本为1.4,页面上也没有el表达式. 加入 js 文件 <% String context = request.getContextPath(); %> & ...
随机推荐
- 12-rm 命令总结
rm remove files or directories 删除目录或文件 [语法]: rm [选项] [参数] [功能介绍] rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其 ...
- 在stream流和byte[]中查找(搜索)指定字符串
在 stream流 和 byte[] 中查找(搜索)指定字符串 这里注重看的是两个 Search 的扩展方法,一个是 stream 类型的扩展,另一个是 byte[] 类型的扩展, 如果大家有更好的“ ...
- C++_STL
容器概念讲解 vector deque
- iOS开发小技巧-修改SliderBar指针的样式(牢记这个方法,只能通过代码来修改)
代码: // 修改进度条的指针图片 [self.progressSlider setThumbImage:[UIImage imageNamed:@"player_slider_playba ...
- 【BZOJ 1875】【SDOI 2009】HH去散步
水啊水,最后ans别忘了%哦! #include<cstdio> #include<cstring> #include<algorithm> using names ...
- ie-css3.htc 可以让IE低版本浏览器支持CSS3 的一个小工具
ie-css3.htc 先说道说道这斯是弄啥嘞 ie-css3.htc是一个可以让IE浏览器支持部份CSS3属性的htc文件,不只是box-shadow,它还可以让你的IE浏览器支持圆角属性borde ...
- GIT之旅【第一篇】
初探git Linus Torvalds在2002年起,使用BitMover的版本控制软件BitKeeper管理Linux核心开发,而因为BitKeeper除商业付费版本,仅提供可免费使用但不允许修改 ...
- 【POJ 2342】Anniversary party(入门树形dp)
dp[i][0..1]表示i不来/来参加的最大总高兴值. 则dp[i][1]+=dp[v][0](v是i的所有直接下属) dp[i][0]+=max(dp[v][0],dp[v][1]) 没有告诉你树 ...
- 如何使用TestFlight进行Beta测试
假如你现在完成一个App的开发并准备进行真机测试,那么请问你会怎么做呢?难道是直截了当的把App扔到App Store上然后下载来试试?当然,如果你的App相当简陋,这么做的话无可厚非.不过如果你要做 ...
- 【BZOJ-2721】樱花 线性筛 + 数学
2721: [Violet 5]樱花 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 499 Solved: 293[Submit][Status][D ...