http://www.blogjava.net/paulwong/archive/2007/07/16/130686.html
Struts-Menu结合角色权限的应用
STRUTS-MENU简介:
STRUTS-MENU支持静态和动态菜单,数据来源和显示方式分开,菜单文字国际化,权限。





静态:只须在标签内加上

动态:在menu:useMenuDisplayer 中加上:repository="userMenuRepository"
显示样式:在menu:useMenuDisplayer 中加上:name="Velocity"
国际化:在menu:useMenuDisplayer 中加上:bundle="org.apache.struts.action.MESSAGE"
权限:在menu:useMenuDisplayer 中加上:permissions="rolesAdapter",如果名字是"rolesAdapter"则会自动调用
默认的net.sf.navigator.menu.RolesPermissionsAdapter:















































在显示菜单项时,会判断菜单所定义的角色是否与用户的角色吻合,是则显示,否则不显示。
如果使用ACEGI作为权限柜架,只须加上securityContextHolderAwareRequestFilter即可。
在前一个项目当中要根据登入用户的权限进行菜单显示:我把其中相关的代码提炼出来.
在系统启动时把菜单信息加载近来.通过扩展ActionServlet进行加载.









数据库表中一级菜单的roles值按2.4.8.16....增加 这样与用户的roles值进行位运算.只要值为1,就可以显示该菜单.





























































































































显示菜单:




