最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Freemarker如何生成樹形導(dǎo)航菜單(遞歸)

 更新時間:2017年09月20日 10:27:23   作者:afterwards520  
這篇文章主要為大家詳細(xì)介紹了Freemarker采用的的方法生成樹形導(dǎo)航菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下

很多導(dǎo)航菜單是樹形的,即一級一級往下分,這樣的結(jié)構(gòu)固然需要用遞歸來處理。

對于Freemarker 來說,宏就相當(dāng)于函數(shù),其定義了簽名及參數(shù)列表。

所以在freemarker頁面應(yīng)這樣寫:

<#macro menuTree menus> 
  <#if menus?? && menus?size gt 0> 
   <#list menus as menu> 
    <tr> 
     <td> 
      <input type="checkbox" name="ids" value="${menu.id}" /> 
     </td> 
     <td> 
   <span title="${menu.name!}" style="margin-left: ${menu.leaf * 30}px;[#if menu.leaf == 0] color: #000000;[/#if]"> 
   ${menu.menuName!} 
   </span> 
     </td> 
     <td> 
     ${menu.url!} 
     </td> 
     <td> 
     ${menu.permissionText!} 
     </td> 
     <td> 
     ${menu.sortNo!} 
     </td> 
     <td> 
      <a href="edit.jhtml?id=${menu.id}">[編輯]</a> 
     </td> 
    </tr> 
   <#if menu.menuBeans?? && menu.menuBeans?size gt 0> 
    <@menuTree menus = menu.menuBeans/> 
   </#if> 
   </#list> 
  </#if> 
 </#macro> 
 <!-- 調(diào)用宏 生成遞歸樹 --> 
<@menuTree menus = dto /> 

后臺數(shù)據(jù):

[ 
 { 
  "id": 1, 
  "enable": true, 
  "remark": null, 
  "createBy": 1, 
  "createTime": 1503546411000, 
  "updateBy": 1, 
  "updateTime": 1503546415000, 
  "keyword": null, 
  "menuName": "系統(tǒng)管理", 
  "menuType": 1, 
  "parentId": null, 
  "iconcls": null, 
  "url": null, 
  "expand": null, 
  "sortNo": null, 
  "permission": null, 
  "moduleId": 1, 
  "parentName": null, 
  "leaf": 0, 
  "typeName": null, 
  "permissionText": null, 
  "menuBeans": [ 
   { 
    "id": 7, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "模塊管理", 
    "menuType": 1, 
    "parentId": 1, 
    "iconcls": null, 
    "url": "/module/list", 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 3, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "菜單管理", 
    "menuType": 1, 
    "parentId": 1, 
    "iconcls": null, 
    "url": "/menu/list", 
    "expand": null, 
    "sortNo": null, 
    "permission": "admin:add", 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   } 
  ] 
 }, 
 { 
  "id": 2, 
  "enable": true, 
  "remark": null, 
  "createBy": 1, 
  "createTime": 1503546411000, 
  "updateBy": 1, 
  "updateTime": 1503546415000, 
  "keyword": null, 
  "menuName": "用戶管理", 
  "menuType": 1, 
  "parentId": null, 
  "iconcls": null, 
  "url": null, 
  "expand": null, 
  "sortNo": null, 
  "permission": null, 
  "moduleId": 1, 
  "parentName": null, 
  "leaf": 0, 
  "typeName": null, 
  "permissionText": null, 
  "menuBeans": [ 
   { 
    "id": 9, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "供應(yīng)商管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": null, 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 8, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "部門管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": null, 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 6, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "權(quán)限管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": "/user/list-6", 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 5, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "角色管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": "/user/list-5", 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 4, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "分銷商管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": "/user/add-4", 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   }, 
   { 
    "id": 10, 
    "enable": true, 
    "remark": null, 
    "createBy": 1, 
    "createTime": 1503546411000, 
    "updateBy": 1, 
    "updateTime": 1503546415000, 
    "keyword": null, 
    "menuName": "員工管理", 
    "menuType": 1, 
    "parentId": 2, 
    "iconcls": null, 
    "url": null, 
    "expand": null, 
    "sortNo": null, 
    "permission": null, 
    "moduleId": 1, 
    "parentName": null, 
    "leaf": 1, 
    "typeName": null, 
    "permissionText": null, 
    "menuBeans": null 
   } 
  ] 
 } 
] 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • web.xml詳解_動力節(jié)點(diǎn)Java學(xué)院整理

    web.xml詳解_動力節(jié)點(diǎn)Java學(xué)院整理

    這篇文章給大家詳細(xì)介紹了web.xml的相關(guān)知識,需要的朋友可以參考下
    2017-07-07
  • 基于UncategorizedSQLException異常處理方案

    基于UncategorizedSQLException異常處理方案

    這篇文章主要介紹了基于UncategorizedSQLException異常處理方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 詳解Spring Boot 定時任務(wù)的實(shí)現(xiàn)方法

    詳解Spring Boot 定時任務(wù)的實(shí)現(xiàn)方法

    最近在用SpringBoot寫一個關(guān)于定時項(xiàng)目的時候遇到一個問題,下面小編把如何處理定時任務(wù)的解決思路分享給大家 ,需要的朋友參考下
    2017-05-05
  • Java Method類及invoke方法原理解析

    Java Method類及invoke方法原理解析

    這篇文章主要介紹了Java Method類及invoke方法原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)

    使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)

    這篇文章主要為大家介紹了使用注解@Validated效驗(yàn)VO參數(shù)是否合規(guī)過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05
  • Java的中l(wèi)ombok下的@Builder注解用法詳解

    Java的中l(wèi)ombok下的@Builder注解用法詳解

    這篇文章主要介紹了Java的中l(wèi)ombok下的@Builder注解用法詳解,lombok注解在java進(jìn)行編譯時進(jìn)行代碼的構(gòu)建,對于java對象的創(chuàng)建工作它可以更優(yōu)雅,不需要寫多余的重復(fù)的代碼,在出現(xiàn)lombok之后,對象的創(chuàng)建工作更提供Builder方法,需要的朋友可以參考下
    2023-11-11
  • Java 駝峰命名法詳解(必看篇)

    Java 駝峰命名法詳解(必看篇)

    下面小編就為大家?guī)硪黄狫ava 駝峰命名法詳解(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • SpringBoot優(yōu)化連接數(shù)的方法詳解

    SpringBoot優(yōu)化連接數(shù)的方法詳解

    SpringBoot開發(fā)最大的好處是簡化配置,內(nèi)置了Tomcat,下面這篇文章主要給大家介紹了關(guān)于SpringBoot優(yōu)化連接數(shù)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • SpringBoot如何整合nacos詳解

    SpringBoot如何整合nacos詳解

    今天教各位小伙伴SpringBoot是如何整合nacos的,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)Java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-06-06
  • 深入理解equals和hashCode方法

    深入理解equals和hashCode方法

    在Java中,equals和hashCode方法是Object中提供的兩個方法,這兩個方法對以后的學(xué)習(xí)有很大的幫助,本文就深度來去講解這兩個方法。下面小編帶大家來一起學(xué)習(xí)吧
    2019-06-06

最新評論

城口县| 怀安县| 五原县| 石狮市| 普宁市| 大渡口区| 和平区| 锡林浩特市| 镇平县| 兴安盟| 修武县| 定边县| 公安县| 阳西县| 沾化县| 布拖县| 达孜县| 攀枝花市| 高碑店市| 陵水| 威宁| 平顺县| 西昌市| 安多县| 宁乡县| 开平市| 页游| 股票| 乐陵市| 临猗县| 司法| 凤城市| 富裕县| 云梦县| 西华县| 英德市| 沙田区| 河池市| 芷江| 开封市| 尼木县|