理论:http://blog.csdn.net/babyxue/article/details/73835444

插依赖Bootstrap 和jQuery

<link href="~/bootstrap-treeview.css" rel="stylesheet" />
<link href="./css/bootstrap.css" rel="stylesheet">
<script src="./js/jquery.js"></script>
<script src="./js/bootstrap-treeview.js"></script>

jsp中

<div class="col-sm-3">
<input type="hidden" id="powerList" name="powerList" value='${powerList}'/>
<input type="hidden" id="ids" name="ids" value="${ids}" />
<c:if test="${powerList!=null}">
<div id="tree"></div>
</c:if>
</div>

js中

var log = {
initTree: function () {
var data = $('#powerList').val();
$('#tree').treeview({
data: data,
showCheckbox:false,
multiSelect:false,
onNodeSelected:function(event,node){ //选中节点其子节点,父节点
var ids = [];
var parentNode = $('#tree').treeview('getParent',node); //父节点//
var nodes = node.nodes; //子节点
if(nodes){
for(var i=0; i<nodes.length; i++){
ids.push(nodes[i].id)
var childNode = nodes[i].nodes;
if(childNode){
for(var j=0; j<childNode.length; j++){
ids.push(childNode[j].id)
}
}
}
}else{
ids.push(node.id)
}
//console.info(ids);
$('#ids').val(ids);
setTimeout(function () {
log.reload();
}, 1000)
},
onNodeUnselected:function(event,node){
$('#ids').val('');
setTimeout(function () {
log.reload();
}, 1000)
}
}); }
};

这里得到节点的id的时候,有点小问题

@RequestMapping(value = "view")
public ModelAndView toLog(ModelAndView modelAndView) throws Exception {
modelAndView.setViewName("system/log");
try{
List<TreeObject> list = getTree(Long.parseLong("-1"));
TreeObject treeObject = new TreeObject();
treeObject.setId(-1L);
treeObject.setText("全部菜单");
State rootState = new State();
rootState.setExpanded(true);
rootState.setChecked(false);
treeObject.setState(rootState); //只显示递归产生的两层
TreeObject treeObj = new TreeObject();
for(int i = 0; i < list.size(); i++){
List<TreeObject> list2 = list.get(i).getNodes();
if(list2 != null && list2.size() > 0){
for(int j = 0; j < list2.size(); j++){
if(list2.get(j).getNodes() != null){
list2.get(j).setNodes(null);
}
}
}
}
treeObject.setNodes(list);
modelAndView.addObject("powerList", "[" + JSON.toJSONString(treeObject) + "]");
}catch(Exception ex){
logger.error("进入日志管理页面出错!",ex);
}
return modelAndView;
} //递归树
public List<TreeObject> getTree(Long parentid) {
List<TreeObject> list = new ArrayList<TreeObject>();
List<TreeObject> total = new ArrayList<TreeObject>();
Map<String, Object> map = new HashMap<String, Object>();
map.put("parent_id", parentid);
map.put("sys_type", 1);
List<Power> powerList = powerService.getPowerByGroupLevel(map);
for (Power power : powerList) {
TreeObject tb = new TreeObject();
tb.setId(power.getPower_id());
tb.setText(power.getPower_name());
State state = new State();
state.setChecked(false);
state.setExpanded(false);
if (power.getChildcnt() > 0) {
List<TreeObject> child = getTree(power.getPower_id());
tb.setNodes(child);
}
tb.setState(state);
list.add(tb);
}
total.addAll(list);
return total;
}

bootstrap-treeview的 简单使用的更多相关文章

  1. 对bootstrap modal的简单扩展封装

    对bootstrap modal的简单扩展封装 参考自:http://www.muzilei.com/archives/677   注:原文不支持bootstrap新版本,并且居中等存在问题 此段时间 ...

  2. Bootstrap treeview增加或者删除节点

    参考(AddNode: http://blog.csdn.net/qq_25628235/article/details/51719917,deleteNode:http://blog.csdn.ne ...

  3. 初始化bootstrap treeview树节点

    最近在做启明星图库时,使用了Jquery Bootstrap  Treeview插件.但是,遇到了一个初始化的问题.先看效果如下: 当用户打开图库时,左边分类第一个类别是“所有分类”,默认需要选中. ...

  4. webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部署

    本文为大家讲解的是webUI框架miniUI,easyUI,extJS,Bootstrap简介及简单部属,感兴趣的同学参考下 ExtJS是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端a ...

  5. Bootstrap在线编辑器简单分享

    Bootstrap 已经使响应式网站开发变得简单很多. 但是如果你不必手动写全部代码,事情会如何呢? 如果你可以自由地选择你想要使用的Bootstrap 组件.并可以把它们拖拽到画布中,事情会如何呢? ...

  6. jQuery treeview的简单用法

    最近的项目要用到treeview插件,刚好就自己整理一下这方面的资料. 1.文档树示例 最简单的一个例子就是文档树的实现.效果如下图所示. 在使用treeview之前,html文档中需要包含几个jqu ...

  7. BootStrap 按钮组简单介绍

    学会按钮组需要掌握以下几个类. btn   btn-group btn-toolbar  btn-group-vertical   和 下拉菜单的基本类 dropdown-toggle dropdow ...

  8. BootStrap TreeView使用示例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. bootstrap treeview 树形数据生成

    这个问题还是挺经典的,后台只是负责查出所有的数据,前台js来处理数据展示给treeview;show you the code below:<script> $(function () { ...

  10. bootstrap treeview实现菜单树

    本博客,介绍通过Bootstrap的treeview插件实现菜单树的功能. treeview链接:http://www.htmleaf.com/Demo/201502141380.html ORM框架 ...

随机推荐

  1. 常用html设置:

    省略 居中 1. 省略 ellipsis: text-overflow:ellipsis: 要求容器必须是固定的,要不然无法做省略. table的省略 table{ table_layout:fixe ...

  2. ECLIPSE修改xml配置文件TOMCAT不生效的解决

    昨天和今天一直想研究一下SSH的项目,但把项目导入ECLIPSE后配置数据库时发现无论如何修改配置文件,TOMCAT上的文件还是旧文件,从未变过. 感觉很神奇也很崩溃,重启ECLIPSE,CLEAN, ...

  3. Boost.Hana

    Boost.Hana Boost.Hana 是一个元编程的库.它为不同种类数据的集合以及类型的集合提供了容器和算法. #include <boost/hana.hpp> namespace ...

  4. scala-学习 1

    目录 变量定义 scala定义两种变量: var 可变 初始化之后,可以多次被重新赋值 val 不可变 一旦被初始化 就不能再赋值. var firstarg :java.lang.String = ...

  5. Java学习 第二节

    1.非递归求第四十个斐波那契数 package test; public class fibonacci2 { public static void main(String arg[]) { ; ; ...

  6. JSP共享javabean

    JavaBean是一种可重复使用,且跨平台的软件组件.JavaBean可分为两种:一种是有用户界面(UI)的javaBean:还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的jav ...

  7. Electron 的解释, 什么是Electron

    https://wizardforcel.gitbooks.io/electron-doc/content/development/build-instructions-windows.html

  8. java 里定义的方法参数 (final String... args)

    定义成final是为了防止在方法类里面修改参数,final String... args 为JDK新的特性,为可变长参数.编译的时候被解释为:public DCMException(final Str ...

  9. Mybatis中传入时间值

    <if test="search_content2 != null and search_content2 != ''"> AND add_time <![CDA ...

  10. Python vars() 函数

    Python vars() 函数  Python 内置函数 描述 vars() 函数返回对象object的属性和属性值的字典对象. 语法 vars() 函数语法: vars([object]) 参数 ...