`
kang275284
  • 浏览: 165327 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Struts Menu开发向导

阅读更多
Struts Menu开发向导
[译]Struts Menu开发向导
官方英文版向导(http://struts-menu.sourceforge.net/userguide.html

一、从1.X升级到2.X需要做以下事情:
1、改变你的taglib声明中的URI。
<% at taglib uri="" prefix="menu" %>2、改变<plug-in>,使用新的包名"net.sf.navigator." 。
<plug-in className="net.sf.navigator.menu.MenuPlugIn">
3、改变你的menu-config.xml文件,使用新的包名"net.sf.navigator." 。
<Displayer name="Simple"
type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>

二、快速开始:
1、下载最新的struts-menu版本;
2、解包到本地目录;
3、下载Tomcat或者其它Servlet容器;
4、把struts-menu.war包放入Tomcat安装目录的wabapps目录下,并重启Tomcat服务。
5、打开htpp://localhost:8080/struts-menu/

三、把Struts Menu整合到你的应用程序中:
Struts Menu能够被轻易的整合到你的Struts应用程序中,它也可以整合到一个非Struts的应用程序中,但是我不喜欢这样做,所以在此没有提供相应的教程。这里将一步步的带你整合这个标签库。
你需要把struts-menu.jar放到你的WEB-INF/lib目录下。然后使用URI标签声明你的JSP文件中想使用的这个标签库。
如果使用Struts Menu 2.1,你还需要 Jakarta's Standard Tag Library JAR包放入你的WEB-INF/lib目录下。下载地址:http://ibiblio.org/maven/taglibs/jars/standard-1.0.4.jar,这个文件包括例程WAR包文件和二进制发布包。
1、放入struts-menu.jar包到你的应用程序的WEB-INF/lib目录中。
2、在你的struts-config.xml文件中加入plug-in设置。
<plug-in className="net.sf.navigator.menu.MenuPlugIn">
<set-property property="menuConfig"
value="/WEB-INF/menu-config.xml"/>
</plug-in>
3、你将需要在你的应用程序的/WEB-INF/menu-config.xml文件中定义你的菜单,这里提供一个简单的片断:
<Menu name="contactMenu" title="Contact" location="?Contact">
<Item name="email" title="E-Mail" location="?EMail"/>
<Item name="phone" title="Phone" location="?Phone"/>
</Menu>
  更多全面的例程,请查看应用程序的web/WEB-INF目录中的menu-config.xml文件,你可以截取一段作为你需要的菜单。完整的属性列表,可以查看MenuBase class's javadocs(http://struts-menu.source......avigator/menu/MenuBase.html)。
4、在你的JSP文件的顶部加入taglib声明:
<% at taglib uri="" prefix="menu" %>
5、在你的JSP文件中要放置菜单的位置加入taglib代码:
<menu:useMenuDisplayer name="TabbedMenu"
bundle="org.apache.struts.action.MESSAGE">
<menu:displayMenu name="Home"/>
<menu:displayMenu name="About"/>
</menu:useMenuDisplayer>
  属性name="TabbedMenu"被定义在menu-config.xml文件的顶部:
<Displayer name="TabbedMenu"
type="net.sf.navigator.displayer.TabbedMenuDisplayer"/>

(译注:其实到此步即可在你的JSP文件中添加相应的菜单了,只不过是没有结合Velocity。在menu-config.xml文件的头部可以定义多个Displayer,每个Displayer都有name和type属性,name属性与JSP文件中menu:useMenuDisplayer标签的name属性相对应,即表明使用何种样式,具体的样式定义便在type属性中定义,type属性中是一个class。在menu-config.xml文件中的菜单定义中的name属性则与JSP文件中的menu:displayMenu标签的name属性相对应。)

使用定制的Velocity模版实施你的菜单,你需要整合Velocity到你的WEB应用程序中。如果需要这样做的话,请完成下面的步骤:
1、确定你的menu-config.xml文件有“Velocity”的displayer定义:
<Displayer name="Velocity"
type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>
2、加入Velocity的JARs包到你的WEB-INF/lib目录中,下载velocity-1.4-rc1.jar(http://www.ibiblio.org/ma......y/jars/velocity-1.4-rc1.jar)和velocity-tools-view-1.0.jar(http://www.ibiblio.org/ma......velocity-tools-view-1.0.jar)。
3、加入globalMacros.vm(http://cvs.sourceforge.net/viewcvs.py/*checkout*/struts-menu/navigator/web/WEB-INF/classes/globalMacros.vm?content-type=text%2Fplain&rev=1.1(右键另存为))到你的WEB-INF/lib目录中。
4、改变你的JSP文件中displayer的值为“Velocity”,“config”属性指向一个文件(如config="/templates/tabs.html")或者如果tabs.htm在你的WEB-INF/classes目录中的话,则可设config="tabs.html"。

这里提供了一些使用Velocity的displayer例子,可在sample application(http://demo.raibledesigns.com/struts-menu/index.jsp)中查看。它总是在你的菜单需要的时候显示CSS,JavaScript和图像文件。下面有一些在当前的Struts Menu中用到的Velocity模版的例子的链接:
CoolMenus: Demo(http://demo.raibledesigns......menu/velocity-coolmenu4.jsp),
  Template(http://struts-menu.sourceforge.net/templates/coolmenus.html
NiceTabs: Demo, Template
Tabs: Demo, Template
XTree: Demo, Template

所有相关的有用的文件如果你需要的话都可以在下面的站点上下载:
Images (http://struts-menu.sourceforge.net/menu-images/
Stylesheets (http://struts-menu.sourceforge.net/styles/
Scripts (http://struts-menu.sourceforge.net/scripts/
Templates (http://struts-menu.sourceforge.net/templates/

更多的基于roles的显示/隐藏菜单的信息,请查看FAQs(http://struts-menu.sourceforge.net/faq.html)。

四、在Struts之外使用Struts Menu:
在2.2版中,Menu Repository能够使用MenuContextListener载入:
<!--
- 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>

或者如果你使用Spring,甚至更容易。仅仅需要加入下面的部分到你的applicationContext.xml文件中:
<bean id="menu" class="net.sf.navigator.menu.MenuLoader">
<property name="menuConfig">
<value>/WEB-INF/menu-config.xml</value>
</property>
</bean>
<!-- The menuConfig property is an optional attribute. It is set to
/WEB-INF/menu-config.xml by default. -->
感谢Dan Luputan提供MenuLoader类的源代码。

五、从源文件编译:
要从源文件编译这个项目,执行下面的步骤:
1、下载并安装Maven(http://maven.apache.org/);
2、创建一个环境变量MAVEN_HOME指出你的Maven的安装目录,然后添加$MAVEN_HOME/bin到你的PATH变量中;
3、操纵这个目录你可以扩展源代码,执行“maven.jar”创建target/struts-menu.jar。

要展开struts-menu例程,需要下面的步骤:
1、下载和安装Tomcat;
2、创建一个环境变量CATALINA_HOME指出你的Tomcat的安装目录;
3、执行“maven deploy”把应用程序展开到Tomcat中;
4、打开http://localhost:8080/struts-menu在你喜爱的浏览器中。

 
分享到:
评论

相关推荐

    StrutsMenu使用笔记

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

    Struts Menu

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

    Struts-Menu.jar

    使用StrutsMenu可以显著提高开发效率,因为它减少了手动创建和维护菜单代码的工作量。同时,由于菜单是动态生成的,所以当应用的URL或权限发生变化时,无需修改大量HTML代码,只需更新配置即可。 总结来说,Struts-...

    StrutsMenu 好资料

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

    初涉StrutsMenu

    StrutsMenu是一个在Java Web开发中常用的开源工具,主要用于生成基于Struts框架的动态菜单。这个工具可以帮助开发者轻松地管理应用程序中的菜单结构,使得在页面上显示和操作菜单变得更加便捷。StrutsMenu与Struts...

    Struts Menu用户指南

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

    struts-menu文件

    Struts-menu是一个专门为Apache ...总之,Struts-menu为基于Struts的Web应用提供了强大的菜单管理功能,通过合理的配置和资源组织,可以创建出美观、易用且动态的菜单系统,极大地提高了开发效率和应用的用户体验。

    Struts-Menu实例教程

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

    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示例教程

    Struts是Java Web开发中的一个开源框架,它主要用于构建基于MVC(Model-View-Controller)模式的应用程序。在Struts框架中,Menu组件扮演着重要角色,它帮助开发者创建和管理应用程序的导航结构,为用户提供友好的...

    struts-menu集成struts2.3.1例子以及注意的地方

    Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发。Struts2.3.1是该框架的一个版本,它提供了很多改进和新特性,旨在提升开发效率和应用程序的稳定性。这个例子主要关注的是如何将`struts...

    struts2开发需要用到的jar包

    struts2开发需要用到的jar包

    struts-menu 2.4.3

    struts-menu 2.4.3.jar

    使用Struts-menu轻松实现网页菜单.doc

    使用Struts-menu可以显著提升网页菜单的设计与开发效率。通过灵活的配置,开发者能够轻松创建出功能丰富且美观的菜单界面,同时保持代码的整洁性和可维护性。无论是对于初学者还是有经验的开发者,Struts-menu都提供...

    struts2.2.1开发包

    Struts2.2.1开发包是一个针对Web应用的重要框架,它是Apache软件基金会下的一个开源项目,主要用于构建基于Java的企业级应用程序。这个版本的Struts2是一个强大的MVC(Model-View-Controller)框架,旨在简化开发...

    struts-menu 人门 demo

    Struts-menu入门Demo是一个针对Java Web开发人员的实践教程,主要使用了Struts、Hibernate和MySQL这三大核心技术。这个入门示例提供了一个完整的项目结构,包括数据库文件,使得开发者能够直接运行并理解其工作原理...

Global site tag (gtag.js) - Google Analytics