激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - Java教程 - Freemarker如何生成樹形導(dǎo)航菜單(遞歸)

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

2021-01-06 11:17afterwards520 Java教程

這篇文章主要為大家詳細介紹了Freemarker采用的的方法生成樹形導(dǎo)航菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<#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ù):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
[
 {
  "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í)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/liubinblog/article/details/78036222

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费毛片播放 | 欧美一区二区三区免费观看 | 视频一区二区三区在线观看 | 成人免费看毛片 | 精品国产看高清国产毛片 | xxxx hd video 69| 羞羞漫画无遮挡观看 | 久久久久久久久久久亚洲 | 亚洲性爰 | 亚洲国产网址 | 激情视频日韩 | 羞羞视频免费视频欧美 | 久久777国产线看观看精品 | 99影视电影电视剧在线播放 | 久久99国产精品视频 | 久草最新网址 | 中文字幕一区2区 | 中国hdxxxx护士爽在线观看 | 九色91视频 | 精品成人免费视频 | 中文字幕在线观看网址 | 看一级大毛片 | 91专区在线观看 | 毛片在线免费视频 | 成人黄色小视频在线观看 | 羞羞答答www网站进入 | 欧美日韩a∨毛片一区 | 双性帝王调教跪撅打屁股 | 草久在线 | 91成人在线免费观看 | 久久毛片 | 日韩av电影在线观看 | xp123精品视频 | 九九热免费在线观看 | 国产在线欧美日韩 | 成人男女啪啪免费观看网站四虎 | 欧美成人精品欧美一级乱黄 | 91伊人久久| 狠狠干天天操 | 91成人午夜性a一级毛片 | 久久国语对白 |