请教 struts-menu 的排序问题
小弟初用struts-menu做动态菜单实现角色权限控制,现在菜单显示一切正常,但菜单显示顺序不能达到预期的结果,如:
预期结果:
----menu1
--menu1's item1
--menu1's item2
--menu1's item3
--menu1's item4
--menu2
--menu2's item1
--menu2's item2
--menu2's item3
--menu2's item4
........
页面实际显示:
--menu2
--menu2's item1
--menu2's item2
--menu2's item3
--menu2's item4
----menu1
--menu1's item1
--menu1's item2
--menu1's item3
--menu1's item4
........
struts-menu中很重要的一个类是MenuRepository,用来保存菜单项数据的, 在Action里菜单顺序是正确的,但在页面就变了,这是我的页面取值方式:
<%@ taglib uri="/WEB-INF/struts-menu.tld" prefix="menu" %>
<%@ taglib uri="/WEB-INF/struts-menu-el.tld" prefix="menu-el"%>
<link rel="stylesheet" type="text/css" media="screen" href="${pageScope.path}/common/css/menuExpandable.css" />
<script type="text/javascript" src="${pageScope.path}/common/js/menuExpandable.js "></script>
<menu:useMenuDisplayer name="ListMenu" repository="repository">
<c:forEach var="menu" items="${repository.topMenus}">
<menu-el:displayMenu name="${menu.name}" />
</c:forEach>
</menu:useMenuDisplayer>
${menu.name}就是权限code,alert一下并不与action中list集合中保存的权限code一致
我想是hash算法的原因,但在Action中并没有采用hashset 或 hashmap。我看了一下struts-menu 的源码,看了很长时间却没有看明白,google了一下,有人说是struts-menu本身没有提供排序的功能,不知道是不是。我用的struts-menu版本是v 2.3的。
小弟初到csdn,还没有积分,恳求热心人指点,在此先谢过了。我的邮箱是changronghu163@163.com