最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Freemarker生成树形导航菜单的方法

来源:动视网 责编:小采 时间:2020-11-27 20:13:05
文档

Freemarker生成树形导航菜单的方法

Freemarker生成树形导航菜单的方法:很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。 对于Freemarker 来说,宏就相当于函数,其定义了签名及参数列表。 所以在freemarker页面应这样写: <#macro menuTree menus> <#if menus。 &am
推荐度:
导读Freemarker生成树形导航菜单的方法:很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。 对于Freemarker 来说,宏就相当于函数,其定义了签名及参数列表。 所以在freemarker页面应这样写: <#macro menuTree menus> <#if menus。 &am


很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。
对于Freemarker 来说,宏就相当于函数,其定义了签名及参数列表。

所以在freemarker页面应这样写:

 <#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>
 <!-- 调用宏 生成递归树 -->
 <@menuTree menus = dto />

后台数据:

[
 {
 "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/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": "供应商管理", 
 "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": "权限管理", 
 "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
 }
 ]
 }
]

文档

Freemarker生成树形导航菜单的方法

Freemarker生成树形导航菜单的方法:很多导航菜单是树形的,即一级一级往下分,这样的结构固然需要用递归来处理。 对于Freemarker 来说,宏就相当于函数,其定义了签名及参数列表。 所以在freemarker页面应这样写: <#macro menuTree menus> <#if menus。 &am
推荐度:
标签: 生成 方法 导航
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top