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