Struts-Menu的使用介绍
(1)?需要的类包?
?????struts-menu-2.3.jar?log4j-1.2.8.jar??velocity-1.4.jar?velocity-tools-view-1.0.jar??
(2)?配置?WEB-INF/struts-config.xml?
???<!—作为插件在struts-config.xml中申明-->?
????<plug-in?className="net.sf.navigator.menu.MenuPlugIn"/>?
或者
????<plug-in?className="net.sf.navigator.menu.MenuPlugIn">
???<set-property?property="menuConfig"
?????value="/WEB-INF/menu-config.xml"/>
?????</plug-in>?
??
?如果不是使用Struts的应用里面依然需要用Struts-Menu的,就需要加下列代码:?
???<!--
???-?Loads?the?menu-config.xml?for?struts-menu?at?startup,
???-?by?default?from?"/WEB-INF/menu-config.xml".
???-?To?override?this,?add?a?context-param?named?"menuConfigLocation"
???-?web.xml?file.
??-->
<listener>
??<listener-class>net.sf.navigator.menu.MenuContextListener</listener-class>
</listener>
??
(3)?WEB-INF/menu-config.xml?
?<?xml?version="1.0"?encoding="UTF-8"?>?
???<!—定义菜单名称和连接指向-->?
??<MenuConfig>?
????<Displayers>?
??????<Displayer?name="ListMenu"??type="net.sf.navigator.displayer.ListMenuDisplayer"/>?
????</Displayers>?
????<!—定义菜单列表-->?
????<Menus>?
??????<!—定义菜单Menu1-->?
??????<Menu?name="Menu1"?title="menu.appfuse"?description="appfuse?menu">?
????????<!—定义菜单Menu1的菜单项,连接跳转可以是struts?action页面-->?
???????<Item?name="UserMenu"?title="menu.user"?action="editProfile"/>?
???????<Item?name="FileUpload"?title="menu.selectFile"?action="selectFile"/>?
???????<Item?name="FlushCache"?title="menu.flushCache"?action="flush"/>?
???????<!—连接跳转可以是jsp页面-->?
???????<Item?name="Clickstream"?title="menu.clickstream"??page="/clickstreams.jsp"/>?
????????<!—定义菜单项的子菜单-->?
????????<Item?name="admin"?title="menu.admin.users">?
???????????<Item?name="am.viewUsers"?title="menu.admin.users"?forward="viewUsers"/>?
???????????<Item?name="ReloadContext"?title="menu.admin.reload"?action="reload"/>?
???????</Item>?
????</Menu>?
??????<!—定义菜单Menu2-->?
???<Menu?name="Menu2"?title="menu.title2"?description="Menu?2"??forward="editProfile"/>?
??????<!—定义菜单Menu3-->?
???<Menu?name="Menu3"?title="menu.title3"?description="Menu?3"??forward="editProfile"/>?
???<Menu?name="Menu4"?title="menu.title4"?description="Menu?4"??forward="editProfile"/>?
???<Menu?name="Menu5"?title="menu.title5"?description="Menu?5"??forward="editProfile"/>?
?</Menus>?
</MenuConfig>?
(4)?具体在Jsp中显示菜单例子?
<!—标签显示定义好的菜单,其中name属性于menu-config.xml中的name属性保持一致-->?
<div?id="menu">?
<menu:useMenuDisplayer?name="ListMenu"?>?
????<menu:displayMenu?name="Menu1"/>?
????<menu:displayMenu?name="Menu2"/>????
????<menu:displayMenu?name="Menu3"/>????
???<menu:displayMenu?name="Menu4"/>????
????<menu:displayMenu?name="Menu5"/>????
</menu:useMenuDisplayer>?
</div>?
<script?type="text/javascript">?
????initializeMenus();?
</script>?