新建一个可变得菜单页面通过include导入
<%@include file="../../XXX.jsp" %>
<ul>
<!--这里定义变量为了接受已经存在得菜单,判断是否存在 -->
<c:set var="aaa" value=""/>
<!-- 遍历当前登录用户的角色列表 -->
<c:forEach items="${_CURRENT_USER.roles}" var="role">
<!-- 遍历每个角色下的模块 -->
<c:forEach items="${role.modules }" var="module">
<!-- 判断是否是三级菜单。 ctype字段代表几级菜单这里2代表三级。-->
<c:if test="${module.ctype==2}">
<!-- 这里threeMenu在对应得action中创建得标记,在action中提供get方法后,通过action自动进入值栈,这样前端就可以获取标记。remark字段也是标记
在数据库创建时候创建-->
<c:if test="${threeMenu==module.remark }">
<!-- 如果该模块没有输出过,则要进行输出,否则这个模块就不输出 -->
<c:if test="${fn:contains(aaa,module.cpermission) eq false }">
<!--如果变量中不存在这个菜单就将菜单拼接进变量中,下次循环继续判断-->
<c:set var="aaa" value="${aaa},${module.cpermission }"/>
<!--这里输出你想输出得菜单-->
<li id="${module.ico }"><a href="#" οnclick="${module.curl}">${module.cpermission }</a></li>
</c:if>
</c:if>
</c:if>
</c:forEach>
</c:forEach>
</ul>