JSTL+EL 表达式 遍历权限菜单有关问题,求大神解答

JSTL+EL 表达式 遍历权限菜单问题,急求大神解答
我的权限类大概是这样的,
------------------------------------------------------------------
class Permission{
   private int Id;
   private String name;
   //一级菜单
   private String parent;
   //子菜单
   private List<Permission> children;
}
---------------------------------------------------------------
权限的设计是   用户-->角色-->权限

权限表是一级菜单二级菜单都有记录的,只不过有个parent_id项来区分二级菜单属于哪个一级菜单

大概是这样
id    name              url        parent_id
1     一级菜单A      #            NULL
2     一级菜单B     #            NULL
3     一级菜单C     #            NULL
4     二级菜单A     #            1
5     二级菜单B     #            1
6     二级菜单C     #            1
7     二级菜单D     #            3
8     二级菜单E     #            3

角色_权限表大概是这样
role_id          permissions_id
  1                           1
  1                           3
  1                           4
  1                           5
  1                           8
--------------------------------------------------------------
现在我要从 角色 获取对应权限并输出JSP页面,困扰的就是二级菜单如何排在一级菜单下面

JSP代码如下:
<li>
                <a href="javascript:;">
                    <i class="fa fa-laptop"></i>
                    <span>一级菜单</span>
                </a>
                <ul class="sub">
                    <li><a href="#">二级菜单</a></li>
                    <li><a href="#">二级菜单</a></li>
                </ul>
</li>
----------------------------------------------------------
然后我想到用JSTL+EL 来做,只遍历角色有的一级菜单,然后遍历这些一级菜单下面有哪些二级菜单(角色权限表里未必包含这些二级菜单),接着判断一级菜单下面的二级菜单是否包含在 角色_权限表里,如果包含则输出,不包含则不输出。

<li>    <!--遍历该角色的所有权限(一级和二级)-->
            <c:forEach items="${account.getRole().getPermissions()}" var="item">
             <c:choose>  
                       <!--判断是否是一级菜单-->
             <c:when test="${empty item.parent}">              
            <a href="#">
                <i class="${item.itemIcon}"></i>
                <span>${item.name}</span>
            </a>
            
            <!-- 遍历这个一级菜单下面的所有二级菜单 -->
            <c:forEach items="${item.children}" var="item1">
             <!-- 判断这些二级菜单是否包含在 角色权限 表里面-->
            <c:if test="${item1是否包含在 角色权限列表里?}">
             <ul class="sub">
             <li><a href="#">${item1.name}</a></li>
         </ul>
            </c:if>
            </c:forEach>
            
            </c:when>
    
</c:choose>
            </c:forEach>
            </li>
-------------------------------------------------------
关键是下面,不知道怎么判断当前遍历的权限是否包含在一个权限列表里(List)
 <c:if test="${item1是否包含在 角色权限列表里?}">
<ul class="sub">
<li><a href="#">${item1.name}</a></li>
</ul>
</c:if>
------解决思路----------------------
角色权限表里未必包含这些二级菜单 ,需要在后后台获取到List<Permission> p1 =  r1.getPermissions();,然后把二级菜单也加进去啊,然后就可以了啊,要不然在前台判断太麻烦了