利用Freemarker怎么生成一个树形导航菜单

  介绍

利用Freemarker怎么生成一个树形导航菜单?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。

对于Freemarker来说,宏就相当于函数,其定义了签名及参数列表。

所以在Freemarker页面应这样写:

& lt; #宏观menuTree menus>   & lt; #如果menus& # 63和# 63;,,menus& # 63;大小gt 0比;   作为menu> & lt; #列表菜单;   & lt; tr>   & lt; td>   & lt;输入类型=癱heckbox"name=癷ds"https://www.yisu.com/zixun/value=" $ {menu.id} "/>         <跨度标题=" $ {menu.name !}">   $ {menu.menuName !}            $ {menu.url !}         $ {menu.permissionText !}         $ {menu.sortNo !}         [编辑)         <#如果menu.menuBeans& # 63; & # 63;& & menu.menuBeans& # 63;大小gt 0>   <=menu.menuBeans @menuTree菜单/>   #如果>   #如果>      <=dto @menuTree菜单/>   

后台数据:

(   {   “id": 1、   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“系统管理“,   “menuType": 1、   “parentId":空,   “iconcls":空,   “url":空,   “expand":空,   “sortNo":空,   “permission":空,   “moduleId": 1、   “parentName":空,   “leaf": 0,   “typeName":空,   “permissionText":空,   “menuBeans":(   {   “id": 7,   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“模块管理“,   “menuType": 1、   “parentId": 1、   “iconcls":空,   “url":“/模块/list"   “expand":空,   “sortNo":空,   “permission":空,   “moduleId": 1、   “parentName":空,   “leaf": 1、   “typeName":空,   “permissionText":空,   “menuBeans":零   },   {   “id": 3,   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“菜单管理“,   “menuType": 1、   “parentId": 1、   “iconcls":空,   “url":“/菜单/list"   “expand":空,   “sortNo":空,   “permission":“管理:add"   “moduleId": 1、   “parentName":空,   “leaf": 1、   “typeName":空,   “permissionText":空,   “menuBeans":零   }   ]   },   {   “id": 2   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“用户管理“,   “menuType": 1、   “parentId":空,   “iconcls":空,   “url":空,   “expand":空,   “sortNo":空,   “permission":空,   “moduleId": 1、   “parentName":空,   “leaf": 0,   “typeName":空,   “permissionText":空,   “menuBeans":(   {   “id": 9,   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“供应商管理“,   “menuType": 1、   “parentId": 2   “iconcls":空,   “url":空,   “expand":空,   “sortNo":空,   “permission":空,   “moduleId": 1、   “parentName":空,   “leaf": 1、   “typeName":空,   “permissionText":空,   “menuBeans":零   },   {   “id": 8   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“部门管理“,   “menuType": 1、   “parentId": 2   “iconcls":空,   “url":空,   “expand":空,   “sortNo":空,   “permission":空,   “moduleId": 1、   “parentName":空,   “leaf": 1、   “typeName":空,   “permissionText":空,   “menuBeans":零   },   {   “id": 6,   “enable":没错,   “remark":空,   “createBy": 1、   “createTime": 1503546411000,   “updateBy": 1、   “updateTime": 1503546415000,   “keyword":空,   “menuName":“权限管理“,   “menuType": 1、   “parentId": 2   “iconcls":空,   “url":“/user/list-6"   “expand":空,   “sortNo":空,   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

利用Freemarker怎么生成一个树形导航菜单