easyui +mvc +EF 怎样让tree的显示名称是父节点+子节点的形式

ASP.NET+MVC5+EF6+EasyUI+通用权限管理系统源代码 .net框架源码
数&据&库:
最后更新:
演示网站:
安装服务:
免技术支持
支付方式:
支付宝 财付通 网上银行
保障服务:
自动发货商品,随时可以购买,零等待。
购买本商品,交易成功后可获赠积分。
担保交易,有问题不解决24小时内可申请退款,安全保证。
低价精品源码
本店源码详情图。您看到的是什么样的就是什么样的!
源码详情:
ASP.NET+MVC5+EF6+EasyUI+用用权限管理系统源代码 .net框架
环境要求:
VS2015+、Sql 2012R2+
有无说明:
有部署文档
包含服务:
只提供源码,不提供任何技术及售后服务,需要安装服务请另拍本店的安装服务
超强服务:
有偿提供 安装服务
发货说明:
本商品自动发货或人工
提醒:此类商品,一经卖出,概不退货,拍前请三思是确有需要!!
1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;
2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。
1、描述:源码描述(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、版本不符等);
2、演示:有演示站时,与实际源码小于95%一致的(但描述中有"不保证完全一样、有变化的可能性"类似显著声明的除外);
3、发货:手动发货源码,在卖家未发货前,已申请退款的;
4、服务:卖家不提供安装服务或需额外收费的(但描述中有显著声明的除外);
5、其他:如质量方面的硬性常规问题等。
注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。交易中的商品,卖家无法对描述进行修改!
1、在未拍下前,双方在QQ上所商定的内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);
2、在商品同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外);
3、在没有"无任何正当退款依据"的前提下,写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
4、虽然交易产生纠纷的几率很小,但请尽量保留如聊天记录这样的重要信息,以防产生纠纷时便于16Aspx源码介入快速处理。
16Aspx源码声明
1、16Aspx源码作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与16Aspx源码无关;无论卖家以何理由要求线下交易的,请联系管理举报。
本店销量榜
1DEDE58终身会员985套网站源码 织梦模板手机 整站带后台 企业PHP
2PHP企业整站源码 景观石材大理石类织梦模板 含手机移动端 完整源码 APP+PC
3人人分销商城v2.99源码 人人店 微信三级分销商城系统稳定开源版 非外网衍生版
4DEDE建筑类企业整站源码 建筑工程装载机类网站织梦模板 手机端,pc,织梦5.7源码
5PHP林场类企业整站源码 DeDe5.7 木材林场木业制造类网站织梦模板 手机端 PC
6织梦5.7企业办公整站源码 办公打印印刷设备类网站织梦模板(PC+移动端) Dede5.7
7PHP微信应用源码 房产全民经纪人源码微信营销全民合伙人带客通独立运营开源无限制
8最新牛niucms 商业版V3.7.8 智慧城市 小区 O2O生活服务平台 app开源 系统源码
9PHP整站系统源码 江湖外卖跑腿O2O系统最新破解版,客户端+配送端,商户端 O2O创业
10微信导航源码群二维码发布网站货源网整站php带手机版最新漂亮
Copyright © 2009 - 2014
深圳宇创乐知网络技术有限公司
粤公网安备号用户:****
用户:**9160843@qq.**
用户:****
用户:**62583**
用户:****
用户:****
用户:****
用户:**0484857@qq.**
用户:****
用户:****
用户:****
用户:****
用户:****
用户:****
用户:****
用户:**0184984@qq.**
用户:**0184984@qq.**
用户:****
用户:****
用户:**huijian**
分享:9999+
课程顾问贴心解答
为你推荐精品课程,无论就业还是升职加薪,毫无压力。
名企定制紧随大流
量身打造紧贴企业需求的实用性课程。
系统教学把控效果
集学、测、练为一体的学习系统为你科学的安排学习进度,提高效率。
一线大师1对1指导
课程研发团队内一线资深讲师一对一指导,手把手教学,直到学会。
点播答疑完美结合
每周2-3次直播解答,保证学员日常学习问题能得到解决。
量身定制学习计划
告别杂乱的学习方式,我们会根据你的情况定制学习计划。
jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者不需要编写复杂的Javascript,也不需要对CSS样式 有深入的了解,开发者需要了解的只有一些简单的Html标签。
jQuery EasyUI还为我们提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等。
jQuery EasyUI是基于jQuery的一个前台ui界面的插件,功能相对没extjs强大,但页面也是相当好看的,同时页面支持各种themes以满足使用者对于页面不同风格的喜好。一些功能也足够开发者使用,相对于extjs更轻量。
EF5.0就是指Entity Framework 5.0,是微软近期重点推崇ORM框架,相于Nhibernate,他算是自家产品,所以与微软公司的其他产品的融入度也比较高,使用起来比较方便,功能也是相当的强大的,结合.NET的新语法用起来更是完美,因此他也成了现在许多公司拿来做数据执久层的上选。 &
MVC是Model-View-Controller的缩写,可以将其简单理解为将数据模型、视图展示和业务逻辑代码强行分离的一种设计模式。它主要解决的是在复杂系统开发过程中出现的业务逻辑代码与视图展示代码互相混杂的问题。通过模块分离,开发者就可以把精力集中在解决实际的业务问题上了。
1)EasyUI1.3
本套课程首先详细的从零开始的全方位的以案例的方式向大家讲解了EasyUI1.3的几乎所有应用,近两百案例,可以直接拿本课程中的案例用到自己的项目中去,且牵涉到与后台进行数据互动的均采用MVC的方式提供数据,所有代码一目了然,且90%的案例核心代码均采用手敲方式完成。
(2)企业级架构
本套课程还结合EasyUI1.3为大家提供了一套基于N-Tier、MVC4、EF5、Spring.net和T4的企业级架构且整个搭建过程全程实录,把学习难度几乎降低为零,此架构把服务端封装成了傻瓜式的操作,以便程序员把更多的精力放到业务和用户体验上。
其中的N-Tier分层思想成功的把MVC的Model剥离了出来并组建了Repository(仓储层)、Infrastructure(公共层)和Service(服务层)为MVC的View灵活地提供灵活的数据,其中的仓储层和服务层又采用了抽象工厂设计模式,让其能同时从Sqlserver和Oracle等其他不同类型的数据库提取数据。
另外通过各层之间的接口和Spring.net构建了一套层与层之间交互的仓储机制,彻底的实现了各层之间的低耦合,完全通过配置文件的配置信息指定各层之间需要调用和访问的程序集文件。
还有一个亮点就是利用微软的T4模板技术、EF5.0和partial机制在架构内部内置了一套代码生成器,小巧灵活且功能强大,并且生成的代码完全符合OPEN-CLOSE思想,如果数据库发生变化,只须保存一下T4文件,其他后期扩展代码不会受到任何影响。
&一. Base(基础)
1. EasyLoader(简单加载)
2. Draggable(拖动)
(1)基本拖拽组件
(2)拖拽限制
(4)学校课程表
3. Droppable(放置)
(1)基本可拽入容器
(2)改变托动物顺序
(3)接受一个拖拽物
4.Resizable(调整大小)
5.Pagination(分页)
(1)基本分页组件
(2)定制分页组件按钮
(3)简化分页组件
6. SearchBox(搜索框)
(1)基本搜索框组件
(2)分类查询
7. ProgressBar(进度条)
8. Tooltip(鼠标提示)
(1)基本提示信息组件
(2)提示信息位置
(3)定制提示信息内容
(4)定制提示信息风格
(5)提示信息组件作为工具条
(6)Ajax提示信息
(7)提示信息对话框
二. Layout(布局)
1. 面板组件
(1)基本面板组件
(2)面板工具
(3)定制面板工具
(4)加载面板内容
(5)嵌套面板
2. 选项卡组件
(1)基本选项卡组件
(2)选项卡自适应高度
(3)选项卡自动切换
(4)选项卡嵌套
(5)选项卡片工具
(6)选项卡工具
(7)选项卡位置
3. 可折叠面板组件
(1)基本可折叠面板
(2)可折叠面板工具
(3)通过AJAX加载内容
(4)可折叠面板相关操作
4. 布局组件
(1)基本布局组件
(3)嵌套布局
(4)布局中无折叠按钮
(5)添加和删除布局组件
(6)复杂布局
三. Menu And Button(菜单和按纽)
1. 菜单组件
(1)基本菜单组件
(2)定制菜单项
(3)菜单事件
2. 链接按钮组件
(1)基本链接按钮
(2)普通连接按钮
(3)按钮图标对齐方式
(4)开关按钮
3. 菜单按钮组件
(1)基本菜单按钮
(2)菜单按钮相关操作
4. 分隔按钮组件
(1)基本分隔按钮
(2)分隔按纽相关操作
四. Form(表单)
1. 日期框组件
(1)基本日期框组件
(2)日期格式化
(3)日期框验证
(4)日期框事件
2. 日期时间框组件
(1)基本日期时间框
(2)为日期时间组件初始化值
3. 时间微调器组件
(1)基本时间微调器组件
(2)时间范围
(3)时间微调器相关操作
4. 日历组件
(1)基本日历组件
(2)一周的第一天
5. 数字框组件
(1)基本数字框组件
(2)数字范围
(3)格式化数字框
6. 数字框微调器组件
(1)基本数字微调器组件
(3)数字范围
7. 验证框组件
(1)基本验证框组件
(2)定制验证框提示
8. 滑动器组件
(1)基本滑动组件
(2)滑动器标尺
(3)格式化提示信息
(4)垂直滑动器
9.下拉组件
10.下拉框组件
(1)基本下拉框组件
(2)动态加载下拉框数据
(3)下拉框多选
(4)导航下拉框
(5)下拉框自定义格式
(6)绑定远程数据
(7)下拉框组件相关操作
11. 下拉表格组件
(1)基本下拉表格组件
(2)为下拉表格赋初值
(3)多选下拉表格
(4)导航下拉表格
(5)下拉表格相关操作
12. 下拉树组件
(1)基本下拉树组件
(2)为下拉树赋初值
(3)多选下拉树
(4)下拉树操作
13. 表单组件
(1)基本表单组件
(2)加载表单数据
(3)AJAX表单提交
五. Window(窗口)
1. 窗体组件
(1)基本窗体组件
(2)定制窗体工具
(3)内部窗体
(4)模态窗口
(5)窗体布局
2. 对话窗体组件
(1)基本对话窗体组件
(2)工具栏和按钮
(3)对话窗体上的复杂工具栏
3. 消息框组件
(1)基本消息组件
(2)提醒消息组件
(3)交互式消息组件
(4)消息框位置
六. DataGrid And Tree(表格和树)
1. 数据表格组件
(1)基本数据表格
(2)把Table转化成数据表格
(3)数据表格中的行边框
(4)数据表格选择模型
(5)数据表格复选框选择模型
(6)数据表格工具条
(7)数据表格复杂工具条
(8)定制数据表格分页
(9)数据表格客户端分页
(10)列组合
(11)数据表格列对齐
(12)数据表格中冻结列
(13)格式化数据表格列
(14)数据表格中冻结行
(15)数据表格中的行编辑
(16)数据表格行样式
(17)数据表格单元格样式
(18)数据表格页脚行
(19)数据表格右键菜单
(20)数据表格合并单元格
2. 属性表格组件
(1)基本属性表格
(2)属性表格定制列
(3)分组格式化
3.树形菜单组件
(1)基本树组件
(2)动画效果树
(3)复选框树
(4)树结构线
(5)树节点图标
(6)树相关操作
(7)树右键菜单
(8)拖放树节点
(9)可编辑树
4.树形表格组件
(1)基本树形表格
(2)树形表格相关操作
(3)树形表格右键菜单
(4)可编辑树形表格
(5)树形表格底部行
(6)树形表格报表
当然在最后为了能让大家尽快熟悉架构和上手EasyUI,特意为大家呈现了一个项目案例,通过此项目案例更能投射出架构强大和灵活及EasyUI的优美应用。
框架代码结构
业务层仓储
您暂未登录不能收藏!请登录后在进行课程的收藏!easyui tree异步加载子节点全选问题
[问题点数:40分]
本版专家分:0
CSDN今日推荐
本版专家分:0
本版专家分:0
本版专家分:0
本版专家分:9058
匿名用户不能发表回复!
其他相关推荐403 Forbidden
Request forbidden by administrative rules.博客分类:
根据用户对应的角色所拥有的菜单在后台动态拼成Json,传递给js,生成Ztree。
公司之前的ztree实现都是在jsp里获取用户权限之后拼json。但添加父子级菜单,更改权限内容,维护起来都比较麻烦,所以花了两三个小时重构了一下,轻拍···
SpringMVC+Hibernate+Spring
Ztree+EasyUI
用户User 和 角色Role&&&&& 多对一
角色Role 和 菜单Function& 多对多
po里使用关联对象注解方式配置的关联关系。
具体代码:
1.Control层,easyui-layout的west访问下面的方法
@RequestMapping(value = "/showTreeMenu.do", method = RequestMethod.GET)
public String zTreeShow(Model model, HttpServletRequest request)
throws Exception {
String userId = ((UserVo) request.getSession()
.getAttribute("loginUser")).getUSERID();
List&FunctionVo& parentList = userService.selectParentZtree(userId); // 根据用户Id,查询该用户拥有的一级菜单
List&String& childList = userService.selectChildZtree(parentList,
request, userId); // 根据用户ID,一级菜单获取该用户拥有的子菜单
model.addAttribute("pList", parentList);
model.addAttribute("cList", childList);
return "/jsp/main/west";& //返回生成ztree的jsp页面
2.Service层
// 查询用户拥有的一级菜单
@Override
public List&FunctionVo& selectParentZtree(String userId) throws Exception {
List&Function& functionlist = this.userDao.selectParentZtree(userId);
List&FunctionVo& retFunctionVoList = new ArrayList&FunctionVo&();
for (Function function : functionlist) {
FunctionVo vo = new FunctionVo();
PropertyUtils.copyProperties(vo, function);
retFunctionVoList.add(vo);
return retFunctionVoL
// 根据父类菜单的ID,查询出对应的子类菜单
@Override
public List&String& selectChildZtree(List&FunctionVo& parentList,
HttpServletRequest request, String userId) throws Exception {
Map&String, Object& map = new HashMap&String, Object&();
map.put("userId", userId);
List&String& childList = new ArrayList&String&();
for (FunctionVo vo : parentList) {
map.put("functionVo", vo);
String temp = recursionChildZtree(map, request, 0);//递归查询子菜单,拼json
if (temp.length() != 0) {
childList.add("[" + temp.substring(0, temp.length() - 1) + "]");//父菜单List和子菜单List一一对应,保证父子菜单的List下标相同
childList.add(null);
return childL
// 根据参数递归查询子菜单
public String recursionChildZtree(Map&String, Object& map,
HttpServletRequest request, int status) throws Exception {
Map&String, Object&
List&Function& listResult = userDao.selectChildZtree(map); // 根据父类菜单和用户ID获取该菜单旗下用户拥有的所有子级菜单
String temp = "";
for (Function function : listResult) {&
if (function != null) {
if (((FunctionVo) map.get("functionVo")).getFUNCTIONID()
.equals(function.getPARENTFUNCTION()))&
{//如果当前菜单有父类菜单,则继续查询该菜单的子菜单
m = new HashMap&String, Object&();
vo = new FunctionVo();
PropertyUtils.copyProperties(vo, function);
m.put("functionVo", vo);
m.put("userId", map.get("userId"));
temp += recursionChildZtree(m, request, 1);
String icon = "";
String url = "";
icon = (status == 0) ? "1_open.png" : "1_close.png";
url = (status == 0) ? "" : ",attributes:{\"url\" :\""
+ request.getContextPath() + function.getFUNCTIONURL()
temp += "{id : \"" + function.getFUNCTIONID() + "\",pId:\""
+ function.getPARENTFUNCTION() + "\",icon:\""
+ request.getContextPath() + "/css/zTreeStyle/img/diy/"
+ icon + "\",name: \"" + function.getFUNCTIONNAME()
+ "\",open:true " + url + "},";
public List&Function& selectChildZtree(Map map) {
StringBuffer sql = new StringBuffer();
List&Function& list =
.append("from Function a inner join fetch a.role b inner join fetch b.user c where c.USERID='"
+ map.get("userId")
+ "' and a.PARENTFUNCTION='"
+ ((FunctionVo) map.get("functionVo")).getFUNCTIONID()
+ "'order by a.FUNCTIONORDER, a.FUNCTIONID");
list = (List&Function&) this.findByHQL(sql.toString());
public List&Function& selectParentZtree(String userId) {
StringBuffer sql = new StringBuffer();
List&Function& list =
sql.append("from Function a inner join fetch a.role b inner join fetch b.user c where a.PARENTFUNCTION='0' and c.USERID='"
+ userId + "' order by a.FUNCTIONORDER, a.FUNCTIONID");
list = (List&Function&) this.findByHQL(sql.toString());
4.west.jsp
&script type="text/javascript" charset="utf-8"&
var json=${cList };& //接收子菜单
$(function() {
$('#menuAccordion').accordion({ //定义手风琴
animate:false,
fit : true,
border : false
var setting = {
simpleData: {
enable: true
callback: {
onClick:zTreeOnClick
$(document).ready(function(){
for(var i=0;i&json.i++) {
$.fn.zTree.init($("#"+i+""), setting, json[i]); //遍历Json,生成zTree
function zTreeOnClick(event, treeId, treeNode) {
&&& addTab(treeNode);
&/script&
&div id="menuAccordion"&
&c:set var="index" value="0" /&
&c:forEach items="${pList}" var="li"& &
&div title=" ${li.FUNCTIONNAME }" style="overflow:" id="${li.FUNCTIONID }" &
&ul id="${index }" class="ztree"&&/ul&& &!-- 根据查出的父类菜单的数量生成对等的手风琴 --&
&c:set var="index" value="${index+1}" /&
&/c:forEach&
&/div&
浏览: 6624 次
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 springmvc工作流程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信