<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。。。恐怕得自定義標簽了--