`

EXT js -------Tree之1:n

阅读更多


业务层方法

public String query() {

List<Role> list = roledao.query();

List<Map<String,Object>> rolelist = new ArrayList<Map<String,Object>>();

for (Role role : list) {

Map<String,Object> roles= new HashMap<String, Object>();

roles.put("id", String.valueOf(role.getRid()));

roles.put("text", role.getName());

roles.put("cls", "folder");

List<Map<String,Object>> userlist =new ArrayList<Map<String,Object>>();

for (Users users : role.getUsers()) {

Map<String,Object> user=new HashMap<String, Object>();

user.put("id", String.valueOf(users.getId()));

user.put("text",users.getUsername());

user.put("leaf", true);

//包含checked属性时, 生成的树中带有复选框

user.put("checked", false);

userlist.add(user);

}

roles.put("children", userlist);

rolelist.add(roles);

}

// Map<String,List<Map<String,Object>>> map= new HashMap<String, List<Map<String,Object>>>();

// map.put('root',rolelist );

return JSONArray.fromObject(rolelist).toString();

}


控制层方法

public class RoleAction implements Action {

private IRoleService rsi;

private String json;//注入json


public String getJson() {

return json;

}


public void setJson(String json) {

this.json = json;

}


public void setRsi(IRoleService rsi) {

this.rsi = rsi;

}


public String execute() throws Exception {

// TODO Auto-generated method stub

return null;

}

public String query(){

json=rsi.query();//赋值

return SUCCESS;

}

}


js文件读取json数据

Ext.onReady(function() {

var tree = new Ext.tree.TreePanel( {

renderTo : 'tree-div',

title : '用户权限表',

height : 768,

width : 1024,

useArrows : true,

autoScroll : true,

animate : true,

enableDD : true,

containerScroll : true,

rootVisible : false,

frame : true,

root : {

nodeType : 'async',

setRootNode: 'root',

id:'root'

},


// auto create TreeLoader

dataUrl : 'queryAll.action',


listeners : {

'checkchange' : function(node, checked) {

if (checked) {

node.getUI().addClass('complete');

} else {

node.getUI().removeClass('complete');

}

}

},


buttons : [ {

text : 'Get Completed Tasks',

handler : function() {

var msg = '', selNodes = tree.getChecked();

Ext.each(selNodes, function(node) {

if (msg.length > 0) {

msg += ', ';

}

msg += node.text;

});

Ext.Msg.show( {

title : 'Completed Tasks',

msg : msg.length > 0 ? msg : 'None',

icon : Ext.Msg.INFO,

minWidth : 200,

buttons : Ext.Msg.OK

});

}

} ]

});


tree.getRootNode().expand(true);

});


jsp页面

<html>

<head>

<title>Checkbox TreePanel</title>

<link rel="stylesheet" type="text/css" href="ext-3.2.1/resources/css/ext-all.css" />

<script type="text/javascript" src="ext-3.2.1/adapter/ext/ext-base.js"></script>

<script type="text/javascript" src="ext-3.2.1/ext-all.js"></script>

<script type="text/javascript" src="js/check-tree.js"></script>

</head>

<body>

<div id="tree-div"></div>

</body>

</html>

 

分享到:
评论

相关推荐

    ext-2.0 ext-2.0 ext-2.0 ext-2.0 ext-2.0

    ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0

    Ext js-4.1.1+Ext js-4.1.0+Ext4.1.0API中文版

    Ext js-4.1.1+Ext js-4.1.0+Ext4.1.0API中文版 .

    ext-js-4.2

    ext-js-4.2框架ext-js-4.2框架ext-js-4.2框架ext-js-4.2框架

    Ext-tree加载

    Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载Ext-tree加载

    Ext入门-详细教程

    Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-...

    ext-ms-win-gdi-desktop-l1-1-0.dll

    ext-ms-win-gdi-desktop-l1-1-0.dll 用于解决这个dll文件丢失问题,下载后将此文件放置在相关文件根目录下,即可解决丢失问题

    gwt-ext-tree

    gwt-ext-treegwt-ext-treegwt-ext-treegwt-ext-treegwt-ext-tree

    extjs设计器破解程序(ExtDesigner-1.2.2-48破解)

    该破解适用于ExtDesigner-1.2.0,及ExtDesigner-1.2.2-48.exe,均测试通过, ExtDesigner原版下载地址 http://www.sencha.com/products/designer/download/ 使用时需要在Extjs网站注册个用户,注册地址: ...

    spketdwcs-ext-2.1.mxp

    spketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-...

    Ext JS - JavaScript Library

    extjs帮助文档等!Ext JS - JavaScript Library

    Ext3-Js-Ajax框架-分页标签-自动排序-文件上传

    Ext3-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动排序-文件上传Ext-Js-Ajax框架-分页标签-自动...

    ext4-exactor.zip

    android经常要用到解析img,将img解析成一系列文件分析问题

    js ext-4.0.7-gpl

    web前台框架,js ext-4.0.7-gpl

    jcifs-ext-0.9.4.jar/jcifs-1.3.3.jar

    jcifs-ext-0.9.4.jar/jcifs-1.3.3.jar 单点登陆 解决maven仓库有jar包但是maven程序无法下载仓库jar包

    Ext-JS-4.1-Beta-3.zip

    Ext-JS-4.1-Beta-3.zip

    前端开源库-style-ext-html-webpack-plugin

    前端开源库-style-ext-html-webpack-pluginStyleExtHTML Webpack插件,通过启用内嵌样式增强HTML Webpack插件功能。

    logback-ext-spring-0.1.1

    logback与spring集成的文件...https://github.com/qos-ch/logback-extensions/tree/master/spring/src/main/java/ch/qos/logback/ext/spring/web 你也可以自己用maven去下载。 注意:此jar包支持spring3.1.1之后的版本

    jcifs-ext-0.9.4.jar

    解压即可得到jcifs-ext-0.9.4.jar, java环境资源,jdk1.6及以上

    ext-all-debug.js

    这个ext-all-debug.js文件,是ext3.0版本的的压缩文件

    openwrt-orangepi-zero-ext4-sdcard.img.gz

    Configure items to boot (wifi-xr819, Sunxi-IR, 1Wire (PA06 GPIO-6), i2c0, i2c1, pwm0, usb2-3 ..). Click Save changes. Click Apply changes, and reboot. Orange-pi reboots and a new AP appears "orangepi-...

Global site tag (gtag.js) - Google Analytics