很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。
对于freemarker 来说,宏就相当于函数,其定义了签名及参数列表。
所以在freemarker页面应这样写:
${menu.menuname!}
${menu.url!}
${menu.permissiontext!}
${menu.sortno!}
#if>
#list>
#if>
#macro>
后台数据:
[
{
"id": 1,
"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": 7,
"enable": true,
"remark": null,
"createby": 1,
"createtime": 1503546411000,
"updateby": 1,
"updatetime": 1503546415000,
"keyword": null,
"menuname": "模块管理",
"menutype": 1,
"parentid": 1,
"iconcls": null,
"url": "/module/li