`
Cecily
  • 浏览: 58275 次
  • 性别: Icon_minigender_2
  • 来自: 大连
社区版块
存档分类
最新评论

初涉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>
分享到:
评论
6 楼 guoyangjie 2011-01-11  
忘了留下扣扣和邮箱了扣扣是:734868158邮箱是:guoyangjie0724@163.com
5 楼 guoyangjie 2011-01-11  
在线吗?在的话帮我一个忙,我第一次在项目中用,希望你能多多帮助一下。。
4 楼 liufangbj 2009-01-15  
抱着试试看的心里,不过谢谢了~~~
3 楼 大力水手 2008-10-07  
不知在实际项目中是否真能实用? 如何动态构造菜单呢?
2 楼 ximin520 2007-09-07  
找了好多 都不能用 希望这次可以
哈哈~~~
1 楼 yeafee 2007-04-16  
谢谢,第一次动手来做,来弄下来看看。

相关推荐

    StrutsMenu使用笔记

    在探讨《StrutsMenu使用笔记》这一主题时,我们深入解析了StrutsMenu框架的集成与配置过程,以及如何在Web应用中有效利用其提供的菜单功能。以下是对该主题核心知识点的详细阐述: ### StrutsMenu简介 StrutsMenu...

    Struts Menu

    Struts Menu 是一个基于 Apache Struts 框架的菜单管理组件,主要用于构建Web应用程序的动态导航菜单。这个组件能够帮助开发者轻松地管理和展示应用程序中的菜单结构,支持自定义样式和多级菜单,大大简化了在Struts...

    初涉Struts 2.0

    struts2.0权威指南(李刚著)1-3章节 博文链接:https://allenj2ee.iteye.com/blog/129310

    Struts-Menu.jar

    StrutsMenu是Struts的一个扩展,它的主要功能是自动生成Web应用的导航菜单,减轻开发者的负担,使他们可以更专注于业务逻辑。 在描述中提到了两个关键的文件: 1. struts-menu-2.4.3.jar:这是StrutsMenu的核心库...

    StrutsMenu 好资料

    StrutsMenu是一款专门为Java开发人员设计的开源组件,主要用于在Web应用中生成动态菜单。它与流行的MVC框架Struts紧密集成,简化了在应用程序中创建权限控制的菜单系统的过程。StrutsMenu的核心功能是根据用户的权限...

    Struts Menu用户指南

    Struts Menu是一个强大的Java Web开发框架Struts中的一个组件,主要用于构建动态的、交互式的Web应用的导航菜单。本用户指南将深入解析Struts Menu的功能、配置和使用方法,帮助开发者更好地理解和应用这一工具。 ...

    struts menu 学习指南

    3. **引入EL表达式支持**:针对StrutsMenu 2.1版本,若要在`menu-config.xml`中使用EL表达式,还需添加Jakarta Standard Tag Library JAR至`WEB-INF/lib`目录。 #### 配置菜单属性 在`menu-config.xml`中定义菜单...

    appfuse/display/strutsMenu

    最后,"appfuse环境的配置及display、strutsMenu的使用.ppt"很可能是一个演示文稿,图文并茂地展示了如何设置AppFuse环境,以及如何实际使用DisplayTag和StrutsMenu。 为了更好地利用这些资源,开发者应先了解...

    struts menu 菜单

    在`strutsmenu`文件夹中,可能包含了Struts Menu的源代码、配置文件、样式表(CSS)以及JavaScript文件。这些资源是构建动态菜单所必需的,例如Action类、JSP页面、图片、样式等。开发者通常会根据项目需求对其进行...

    struts-menu-2.4.3-src

    "struts-menu-2.4.3-src" 是 Struts Menu 的2.4.3版本的源代码包,这对于开发者深入理解其工作原理、进行定制化开发或者修复潜在问题非常有帮助。 在"struts-menu-2.4.3"这个压缩包中,我们可以期待找到以下内容: ...

    struts-menu文件

    Struts-menu是一个专门为Apache Struts框架设计的菜单生成和管理工具。它简化了在Web应用中创建动态、可配置的导航菜单的过程。Struts-menu提供了一种声明式的方式来定义菜单结构,使得开发者无需编写大量的HTML和...

    struts-menu 2.4.3

    struts-menu 2.4.3.jar

    Struts-Menu实例教程

    Struts-Menu是一个基于Apache Struts框架的菜单生成库,它可以帮助开发者轻松地在Web应用中创建动态、可配置的菜单结构。这个实例教程将深入介绍如何使用Struts-Menu来构建用户界面的导航系统。 1. **Struts框架...

Global site tag (gtag.js) - Google Analytics