<ul class="nav sidebar-menu">
<!--Dashboard-->
<!-- 定义遍历方法 -->
<#macro bpTree children>
<#if children?? && children?size gt 0> <!-- 判断是否为空,并且长度是否大于0 -->
<!-- 不为空 开始遍历 -->
<#list children as child>
<#if child.nodes?? && child.nodes?size gt 0>
<!-- 如果是拥有子节点 -->
<li><a href="#" class="menu-dropdown"> <i
class="menu-icon ${child.icon!''}"></i> <span class="menu-text">
${child.title!''} </span> <i class="menu-expand"></i>
</a>
<ul class="submenu">
<@bpTree children=child.nodes />
</ul>
</li>
<#else>
<!-- 没有子节点! -->
<li><a href="javascript:void(0)" data-url="${child.url!''}"><i class="menu-icon ${child.icon!''}" ></i><!-- 图标 -->
<span class="menu-text"> ${child.title!''} </span></a>
</li>
</#if>
</#list>
</#if>
</#macro> <@bpTree children=treeMenu /> <!-- 调用方法 -->
</ul>

参考以上代码,童叟无欺,freemarker是真的强大啊。。如果是使用jsp。。。恐怕得自定义标签了--

freemarker 遍历树形菜单的更多相关文章

  1. PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹

    PHP递归获得树形菜单和遍历文件夹下的所有文件以及子文件夹 一.使用递归获取树形菜单 数据表category(id,name,parent_id) <?php class category{ / ...

  2. java 传入list集合 返回树形菜单,for循环遍历

    public List<SysPermissionVO> getTreeMenu(List<SysPermissionVO> list,SysPermissionVO sysP ...

  3. ERP存储过程的调用和树形菜单的加载(四)

    引用:DAL:System.Data.SqlClient;System.Data; namespace CommTool { public class SqlComm { /// <summar ...

  4. 议:如何将树形菜单形式的数据转化成HTML的二维表(相同内容需合并单元格)

    一般做OA类管理系统,经常涉及到“组织架构”的概念,那么像这种有上下层级关系的数据一般会做成树形菜单的方式显示,底层代码必定会用到递归算法.这篇随笔的目的就是要谈谈除了用树形菜单来显示这种上下层级关系 ...

  5. Unity 引擎UGUI之自定义树形菜单(TreeView)

    先上几张效果图:          如果你需要的也是这种效果,那你就来对地方了! 目前,我们这个树形菜单展现出来的功能如下: 1.可以动态配置数据源: 2.点击每个元素的上下文菜单按钮(也就是图中的三 ...

  6. jQuery 树形菜单

    树形菜单 在 jQuery easyu中其左侧的主菜单使用的是 easyui 中的 tree 组件,不是太熟悉,不过感觉不是太好用. 比如 easyui 中的 tree 需要单击分叉节点前的小三角,才 ...

  7. JS树形菜单

    超全的JS树形菜单源代码共享(有实例图) 树形菜单是很常用的效果,常用在管理软件当中,但是一套树形菜单已经不能满足需求,所以如果能有一套比较全面的树形菜单JS特效代码,将会非常方便,下面懒人萱将超全的 ...

  8. 简单实用的二级树形菜单hovertree

    原创 hovertree是一个仿京东的树形菜单jquery插件,暂时有银色和绿色两种. 官方网址:http://keleyi.com/jq/hovertree/欢迎下载使用 查看绿色效果:http:/ ...

  9. Vue.js 递归组件实现树形菜单

    最近看了 Vue.js 的递归组件,实现了一个最基本的树形菜单. 项目结构: main.js 作为入口,很简单: import Vue from 'vue' Vue.config.debug = tr ...

随机推荐

  1. GridControl 隐藏Drag a column header here to group by that column

    解决方案: 打开设计器,找到OptionsView,往下拉设置showGroupPanel为false 

  2. C语言学习笔记--函数与指针

    1. 函数类型 (1)C 语言中的函数有自己特定的类型,这个类型由返回值.参数类型和参数个数共同决定.如 int add(int i,int j)的类型为 int(int,int). (2)C 语言中 ...

  3. C语言学习笔记--#error 、 #line 和 #pragma 的使用

    1. #error 的用法 (1)#error 是一种预编译器指示字,用于生成一个编译错误消息 (2)用法:#error message //注意:message 不需要用双引号包围 (3)#erro ...

  4. 卸载sql2008r2简易版

    Sql Server 2008完全卸载方法(其他版本类似)第1/2页作者: 字体:[增加 减小] 类型:转载 本文介绍如何卸载 Microsoft SQL Server 2008的方法.当您按照本文中 ...

  5. centos7部署func

    Func(Fedora Unitied Network Controller)是红帽公司以Fedora平台构建的统一网络控制器,是为解决集群管理.监控问题而设计开发的系统管理基础框架.它是一个能有效简 ...

  6. ORACLE体系结构一 (逻辑结构)-表空间、段、区和数据块

    一.Oracle的逻辑结构 Oracle的逻辑结构是一种层次结构.主要由:表空间.段.区和数据块等概念组成.逻辑结构是面向用户的,用户使用Oracle开发应用程序使用的就是逻辑结构.数据库存储层次结构 ...

  7. js 操作属性,操作内容,

    disable=“disable” 让按钮变得不可选 先建一个按钮,让class = ’btn‘ 然后, 添加,修改属性 document.getElementsByClassName('btn')[ ...

  8. vue 之 箭头函数与对象的单体模式

    箭头函数 基本语法: ES6允许使用“箭头”(=>)定义函数 var f = a = > a //等同于 var f = function(a){ return a; } 如果箭头函数不需 ...

  9. spark 1.5的hivecontext的问题

    spark升级到1.5,里面的hive版本升级到1.2.1版本,我写了如下的代码 object SQLApp extends App{ val sparkconf = new SparkConf(). ...

  10. JavaScript-ES6中的class及继承

    我们知道,ES6中,引入了class这个关键字,让在JavaScript中定义类更加简单了 在介绍ES6中的class之前,我们先来看一下JavaScript之前类的实现,在此之前,JavaScrip ...