初涉StrutsMenu

      最近因为工作的原因,使用到了StrutsMenu,对它做了一些初步的了解,想跟大家分享一下.Struts Menu应用是一个JSP标记的集合,支持从XML文件生成各种不同菜单系统,Struts Menu的相关资料中,有一个事例,集中演示了各种不同形态的菜单,包括静态的和动态的,也包含基于用户权限的菜单,还是对我们使用Struts Menu很有帮助的。我也做了一个关于Struts Menu的小例子,感觉需要的包还真不少,我在附件中提供给大家.下面是一个非常简单的,显示Struts Menu中一种菜单--CoolMenu菜单,供大家参考.  (参考了其他相关资料)

1、将需要的类库包拷贝到 WEB-INF/lib/目录下 ,如struts-menu.jar、jstl-1.0.6.jar、standard-1.0.6.jar 、commons-collections-3.0.jar、velocity-tools-view-1.0.jar、velocity-1.4.jar、log4j-1.2.8.jar、commons-lang-2.1.jar等,所有的类库包在附件的事例中提供;

2、将 /lib/struts-menu.tld、struts-menu-el.tld拷贝到WEB-INF/lib/目录下;

3、将struts-menu.war中的scripts、styles、images目录拷贝到你的应用"/"目录下;WEB-INF目录下的classes目录拷贝到工程WEB-INF下;META-INF目录下的INDEX.LIST拷贝到工程的META-INF目录下。

4、修改 web.xml 加入
context-param及 taglib 的调用。

  1. <context-param>
  2. <param-name>javax.servlet.jsp.jstl.fmt.localizationContextparam-name>  
  3.   <param-value>TrackerResparam-value>
  4. context-param>
  5. <taglib>
  6. <taglib-uri>/tags/struts-menutaglib-uri> 
  7.   <taglib-location>/WEB-INF/tld/struts-menu.tldtaglib-location>
  8. taglib><taglib>   
  9.  <taglib-uri>/tags/struts-menu-eltaglib-uri>   
  10.     <taglib-location>/WEB-INF/tld/struts-menu-el.tldtaglib-location>
  11. taglib>  

<o:p> 5、修改 struts-config.xml 加入 plugin描述及message-resources. 6、配置menu-config.xml,代码在事例中.  <o:p></o:p></o:p>

  1. <plug-in className="net.sf.navigator.menu.MenuPlugIn">  
  2.     <set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>  
  3. plug-in>  
  4.   
  5.   <message-resources  parameter="TrackerRes"/>  
  6.   <message-resources  parameter="ISOCodeRes" key="ISOCodeRes"/>  

 6、配置menu-config.xml,描述Strut-menu将采用的显示方式,在jsp文件中选择Displayer;进行相关菜单项目的配置后,就可以在jsp文件中选择显示的菜单。

  1. <MenuConfig>  
  2.   <Displayers>  
  3.     <Displayer   name="DropDown"  
  4.                  type="net.sf.navigator.displayer.DropDownMenuDisplayer"/>  
  5.     <Displayer   name="Simple"  
  6.                  type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>  
  7.     <Displayer   name="CoolMenu"  
  8.                  type="net.sf.navigator.displayer.CoolMenuDisplayer"/>  
  9.     <Displayer   name="CoolMenu4"  
  10.                  type="net.sf.navigator.displayer.CoolMenuDisplayer4"/>  
  11.     <Displayer   name="MenuForm"  
  12.                  type="net.sf.navigator.example.PermissionsFormMenuDisplayer"/>  
  13.     <Displayer   name="ListMenu"  
  14.                  type="net.sf.navigator.displayer.ListMenuDisplayer"/>  
  15.     <Displayer   name="TabbedMenu"  
  16.                  type="net.sf.navigator.displayer.TabbedMenuDisplayer"/>  
  17.     <Displayer   name="Velocity"  
  18.                  type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>  
  19.     <Displayer   name="XtreeMenu"  
  20.                  type="net.sf.navigator.displayer.XtreeMenuDisplayer"/>  
  21.     <Displayer   name="CSSListMenu"  
  22.                  type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>  
  23.   Displayers>  
  24.   <Menus>  
  25.     <Menu  name="indexMenu"  title="Examples">  
  26.         <Item  name="indexMenu1"  title="Basic Example"  
  27.                toolTip="Shows usage of the menu displayers using defaults."  
  28.                page="/menutest1.jsp"/>  
  29.         <Item  name="indexMenu2"  title="Advanced Example"  
  30.                toolTip="Shows customized menu displays."  
  31.                page="/menutest2.jsp"/>  
  32.         <Item  name="indexMenu3"  title="CoolMenu Example"  
  33.                toolTip="Shows menu using CoolMenu3"  
  34.                page="/coolmenu1.jsp"/>  
  35.         <Item  name="indexMenu4"  title="CoolMenu Example - With Form"  
  36.                toolTip="Shows menu using CoolMenu3 with forms."  
  37.                page="/coolmenu2.jsp"/>  
  38.         <Item  name="indexMenu5"  title="Permissions Example"  
  39.                toolTip="Example use of menu disable and permission checking with CoolMenus."  
  40.                page="/permissionsForm.jsp"/>  
  41.         <Item  name="indexMenu6"  title="CoolMenu4 Example"  
  42.                toolTip="Shows menu using CoolMenu4"  
  43.                page="/coolmenu4.jsp"/>  
  44.         <Item  name="indexMenu7"  title="Expandable DHTML List Example"  
  45.                toolTip="Shows Expandable DHTML list"  
  46.                page="/dhtmlExpandable.jsp"/>  
  47.         <Item  name="indexMenu7"  title="Dropdown DHTML List Example"  
  48.                toolTip="Shows Dropdown DHTML list"  
  49.                page="/dhtmlDropdown.jsp"/>  
  50.         <Item  name="indexMenu8"  title="Roles Menu Example"  
  51.                toolTip="Shows Menus based on user's role"  
  52.                page="/rolesMenu.jsp"/>  
  53.         <Item  name="indexMenu9"  title="Tabbed Menu Example"  
  54.                toolTip="Shows Tabbed-based Menu"  
  55.                forward="tabbedMenu"/>  
  56.         <Item  title="Velocity Template Menu"  
  57.                toolTip="Shows very simple Velocity generated Menu"  
  58.                page="/velocity.jsp"/>  
  59.         <Item  title="Velocity CoolMenus Menu"  
  60.                toolTip="Shows Velocity generated CoolMenu"  
  61.                page="/velocity-coolmenu4.jsp"/>  
  62.         <Item  title="Velocity XTree Menu"  
  63.                toolTip="Shows Velocity generated XTree"  
  64.                page="/velocity-xtree.jsp"/>  
  65.         <Item  title="Velocity Tabbed Menu"  
  66.                toolTip="Shows Velocity generated Tabbed Menu"  
  67.                page="/velocity-tabs.jsp?Home"/>  
  68.         <Item  title="Nice Looking Tabbed Menu"  
  69.                toolTip="Shows Velocity generated Tabbed Menu"  
  70.                page="/velocity-nicetabs.jsp?Home"/>  
  71.         <Item  title="EL (Expression Language) enabled Menu"  
  72.                toolTip="Shows very simple Velocity EL Menu"  
  73.                page="/velocity-el.jsp"/>  
  74.         <Item  title="Dynamic, Databased-driven Menu"  
  75.                toolTip="Shows very simple menu built from a database table"  
  76.                page="/dynamicMenu.jsp"/>  
  77.         <Item  title="CSS-based Drop-down Menu: Horizontal [New!]"  
  78.                toolTip="CSS-only Horizontal drop-down menu"  
  79.                page="/cssHorizontal.jsp"/>  
  80.         <Item  title="CSS-based Drop-down: Vertical [New!]"  
  81.                toolTip="CSS-only Vertical drop-down menu"  
  82.                page="/cssVertical.jsp"/>  
  83.     Menu>  
  84.     <Menu name="projectMenu" title="Project Menu">  
  85.         <Item title="Home" toolTip="Return to List of Menus" page="/index.jsp"/>  
  86.         <Item title="Documentation" toolTip="View Project Documentation"  
  87.             location="http://struts-menu.sf.net"/>  
  88.         <Item title="FAQs" toolTip="View Frequenty Asked Questions"  
  89.             location="http://struts-menu.sf.net/faq.html"/>  
  90.         <Item title="Mailing Lists" toolTip="Subscribe to Mailing Lists"  
  91.             location="http://sourceforge.net/mail/?group_id=48726"/>  
  92.         <Item title="Mailing List Archives"  
  93.             toolTip="Search the Mailing List Archives"  
  94.             location="http://www.mail-archive.com/index.php?hunt=struts-menu"/>  
  95.     Menu>  
  96.     <Menu  name="ToDoListMenuFile"  title="FILE"  description="test" width="50">  
  97.        <Item   name="TDLnew"   title="NEW">  
  98.            <Item   name="TDLnewcase"   title="CASE"    image="images/case-new.png"  
  99.                    location="NewCase.jsp"/>  
  100.            <Item   name="TDLnewitem"    title="ITEM"   image="images/item-new.png"  
  101.                    location="index.jsp"/>  
  102.            <Item   name="TDLnewparty"   title="PARTY"  image="images/party-new.png"  
  103.                    location="index.jsp"/>  
  104.        Item>  
  105.        <Item   name="TDLopen"   title="OPEN">  
  106.            <Item   name="TDLopencase"    title="CASE"   image="images/case-open.png"  
  107.                     location="index.jsp"/>  
  108.            <Item   name="TDLopenitem"   title="ITEM"    image="images/item-open.png"  
  109.                     location="index.jsp"/>  
  110.            <Item   name="TDLopenparty"  title="PARTY"   image="images/party-open.png"  
  111.                     location="index.jsp"/>  
  112.        Item>  
  113.        <Item    name="TDLexit"  title="EXIT"  
  114.                 image="images/exit.png"   location="index.jsp"/>  
  115.     Menu>  
  116. MenuConfig>  

 

7、在jsp文件(如Struts-tiles中使用了menu.jsp)中加入,可以通过对useMenuDisplayer来设置菜单的显示风格。

<o:p>
  1. <%@ page contentType="text/html; charset=UTF-8" %>  
  2. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>  
  3. <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>  
  4. <%@ taglib uri="http://struts-menu.sf.net/tag-el" prefix="menu-el" %>  
  5. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>  
  6. <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %>  
  7. <%@ taglib uri="http://java.sun.com/jstl/sql" prefix="sql" %>  
  8.   
  9. <html>  
  10.   <head>  
  11.       <title>Struts Menu Examplestitle>  
  12.       <link rel="stylesheet" type="text/css" media="screen"  
  13.         href="styles/global.css" />  
  14.   head>  
  15. <body>  
  16.   
  17. <div id="content">  
  18.     <script type="text/javascript" src="./scripts/coolmenus3.js">script>  
  19.     <script type="text/javascript" src="./scripts/coolmenu-config.js">script>  
  20.        
  21.     <menu:useMenuDisplayer name="CoolMenu" bundle="org.apache.struts.action.MESSAGE">  
  22.         <menu:displayMenu name="ToDoListMenuFile"/>  
  23.         <menu:displayMenu name="ToDoListMenuEdit"/>  
  24.         <menu:displayMenu name="CaseDetailMenuCase"/>  
  25.     <menu:useMenuDisplayer>  
  26. >   
  27. >   8、可以在浏览器中显示了。
  28. >  

 

 

 

</o:p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值