<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。。。恐怕得自定义标签了--

最新文章

  1. iOS-----用LLDB调试,让移动开发更简单(二)
  2. Struts 2, 值在验证失败回到原来页面的时候会丢失的解决方案
  3. 深入理解Loadrunner中的Browser Emulation
  4. 数据库连接driverClass和jdbcUrl大全
  5. POJ 3255 Roadblocks(A*求次短路)
  6. 常见错误:Apple Mach-O Linker Error
  7. 将LINUX变成路由器
  8. node-webkit
  9. android 开源框架推荐
  10. iOS-获取UIView的全部层级结构
  11. js——cookie
  12. Java数组的排序算法
  13. bgp选路原则【第二部】
  14. hadoop超租约报错:
  15. 使用Let&#39;s Encrypt生成免费SSL证书操作记录
  16. shell脚本中gsub的应用
  17. angular 用拦截器统一处理http请求和响应 比如加token
  18. jquery print属性设置
  19. 抽取JDBC工具类并增删改查
  20. [转]C#使用 Salt + Hash 来为密码加密

热门文章

  1. C# 连接Mysql 字符串
  2. Javascript面向对象(二):构造函数的继承
  3. mysql的安装以及简单的命令符
  4. struts2学习笔记(4)接收参数
  5. C++知识点总结(四)——面向对象的编程细节总结
  6. ie7下z-index失效问题解决方法
  7. activeMQ功能Demo
  8. 华为2013年西安java机试题目:如何过滤掉数组中的非法字符。
  9. 关于 block的一些浅识
  10. GPG入门 - 练习笔记