`

[译]Struts Menu用户指南

阅读更多
官方英文版用户指南(http://struts-menu.sourceforge.net/userguide.html)
改编自 Robin http://www.blogjava.net/fastzch/archive/2005/11/28/21615.html

[译]Struts Menu用户指南

官方英文版用户指南(http://struts-menu.sourceforge.net/userguide.html)
Robin http://www.blogjava.net/fastzch/archive/2005/11/28/21615.html


一、从1.X升级
从Struts Menu 1.x升级到2.X需要做以下事情:
• 改变你的taglib声明中的URI。
<%@ taglib uri="http://struts-menu.sf.net/tag" 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"/>

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

三、把Struts Menu整合到你的应用程序中:
Struts Menu能够被轻易的整合到你的Struts应用程序中。(它也可以整合到一个非Struts的应用程序中,但是我不喜欢这样做,所以在此没有提供相应的教程。)这里将一步步的带你整合这个标签库。

把struts-menu.jar拷贝到你的WEB-INF/lib目录下。然后在你的struts-config.xml中设置plug-in settings。
<plug-in className="net.sf.navigator.menu.MenuPlugIn">
  <set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>
<!-- Default settings -->
</plug-in>
对于Struts Menu 2.1,如果你希望在menu-config.xml中使用EL expressions,你还需要将 Jakarta's Standard Tag Library JAR包放入你的WEB-INF/lib目录下。(http://ibiblio.org/maven/taglibs/jars/standard-1.0.4.jar)
1. 在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文件, 你可以修整它以适应你的需要。完整的属性列表请参见MenuBase class's javadocs(
http://struts-menu.sourceforge.net/apidocs/net/sf/navigator/menu/MenuBase.html)
2. 在你的JSP文件 顶部添加一个 taglib 声明:
<%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>

3. 在你的JSP文件添加 taglib 代码来实施( render)你的菜单:
<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/maven/velocity/jars/velocity-1.4.jar)和velocity-tools-view-1.0.jar(http://www.ibiblio.org/maven/velocity-tools/jars/velocity-tools-view-1.0.jar)。
3、将JSP文件中displayer的值改为“Velocity”, “config”属性应当指向一个文件(如config="/templates/tabs.html")或者 可设config="tabs.html"(如果tabs.htm在你的WEB- INF/classes目录中的话)。

这里提供了一些使用Velocity的displayer例子,请参阅sample application(http://demo.raibledesigns.com/struts-menu/index.jsp),AppFuse(http://appfuse.org)。这些例子向你展示了CSS,JavaScript和图像文件,你的菜单总是会用到的。下面有一些在当前的Struts Menu中用到的Velocity模版的例子的链接:

CoolMenus Demo http://demo.raibledesigns.com/struts-menu/velocity-coolmenu4.jsp
Template http://struts-menu.sourceforge.net/templates/coolmenus.html
CSS Menu Demo http://demo.raibledesigns.com/struts-menu/cssHorizontal.jsp
Template http://struts-menu.sourceforge.net/templates/cssMenu.html
NiceTabs Demo http://demo.raibledesigns.com/struts-menu/velocity-nicetabs.jsp?Home
Template http://struts-menu.sourceforge.net/templates/nicetabs.html
Tabs Demo http://demo.raibledesigns.com/struts-menu/velocity-tabs.jsp?Home
Template http://struts-menu.sourceforge.net/templates/tabs.html
XTree Demo http://demo.raibledesigns.com/struts-menu/velocity-xtree.jsp
Template http://struts-menu.sourceforge.net/templates/xtree.html


所有相关的有用的文件如果你需要的话都可以在下面的站点上下载:
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"/> <-- default and optional -->
</bean>

感谢Dan Luputan提供MenuLoader类的源代码。

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

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

如果你喜欢使用Eclipse开发项目,请参考开发向导(http://struts-menu.sourceforge.net/devguide.html)。
分享到:
评论

相关推荐

    Struts Menu用户指南

    Struts Menu用户指南

    struts menu 学习指南

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

    StrutsMenu 好资料

    其次,《Struts Menu用户指南.doc》提供了使用StrutsMenu的基本步骤和最佳实践。这可能包括如何在Struts配置文件中声明MenuAction,如何在JSP中嵌入菜单标签,以及如何配置权限数据源。用户指南还会介绍如何配置菜单...

    appfuse/display/strutsMenu

    而StrutsMenu则是Struts框架的一个扩展,用于生成动态菜单,它可以基于用户权限自动生成应用程序的导航结构。 首先,了解DisplayTag的使用是必要的。DisplayTag通过一系列自定义JSP标签,如,使开发者能更方便地...

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

    这个例子主要关注的是如何将`struts-menu`与Struts2.3.1进行集成,以便创建一个用户友好的菜单系统。 `struts-menu`是一个开源项目,用于生成基于JSP的动态菜单。它支持多种格式的数据源,如XML、数据库等,可以...

    struts-menu-2.4.3-src

    2. **文档**:可能包含API文档、用户指南或开发者手册,这些文档会解释如何配置和使用Struts Menu,以及各种功能的用法。 3. **示例项目**:可能会包含一些演示应用,用于展示Struts Menu的功能,帮助开发者快速...

    struts-menu权限按钮(项目例子)

    Struts-menu是一个专门为...- 文档:可能包含使用指南和API文档,帮助理解如何操作和定制Struts-menu。 通过深入研究这些文件,你可以学习到如何在自己的Struts项目中有效地利用Struts-menu,提升权限管理的水平。

    Struts In Action(中文)+Struts快速学习指南

    8. **Struts插件和扩展**:介绍 strutstags、struts-menu、struts-mailreader等插件的使用,以及如何自定义扩展。 9. **Struts与Spring、Hibernate整合**:展示如何将Struts与其他流行框架如Spring和Hibernate集成...

    Struts开发指南之Taglib.doc

    2. **html** - struts-html taglib,专注于创建Struts输入表单的标签,以及用于构建HTML用户界面的其他标签。 3. **logic** - struts-logic taglib,包含了一系列用于条件判断和控制流的标签。 4. **template** - ...

    jsp开发插件3

    在Struts 2框架下,StrutsMenu能够很好地集成,帮助开发者快速创建符合用户权限的多级导航菜单。 **2. 版本2.4.3的特性** - **性能优化**:2.4.3版本可能对之前的版本进行了性能上的优化,以提供更快的渲染速度和...

    Struts-2.1.6整合Tiles2全攻略

    对于那些希望利用Struts2和Tiles2来构建高效、可维护的Web应用的开发者来说,本文提供了宝贵的实践指南。 #### 二、Struts-2.1.6与Tiles2整合的意义 - **统一页面布局管理**:Tiles2作为一个模板引擎,能够帮助...

    appfuse-documentation-2.1.0官方文档

    它包含了诸如 Hibernate、ibatis、Struts、Spring、DBUnit、Ant、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit 和 JSTL 等组件。这些工具和框架被精心集成到一起,以便为开发者提供一套完整的开发解决...

    appfuse开发文档

    1. **基础程序框架**:AppFuse提供了基于Ant、XDoclet、Spring、Hibernate或iBATIS的项目模板,同时也支持Junit、Cactus、StrutsTestCase、WebTest、Struts Menu、Display Tag Library、OSCach和JSTL以及Struts或...

    AppFuse

    该工具包由Matt Raible创建,他在网络开发领域拥有丰富的经验,并且是多个开源项目的贡献者,包括Roller Weblogger、XDoclet、StrutsMenu、DisplayTag等。此外,他还参与了J2EE 5.0和JSF 1.2标准的制定,并撰写了...

    jstree JS树形菜单合集.rar

    1用TreeView加VS做动态树形菜单(带节点互斥).rar 2展开收缩带效果的演示 3.net的树形菜单 4AJAX实现的树形菜单 5二级树形菜单示例:CSS+TreeMenu.htm&lt;br&gt;6Treeview演示及使用指南 7struts+...

    E3tree开发文档

    它还允许轻松集成现有的树形UI,如xtree、ext tree和yuimenu。 为了开始使用E3.Tree,你需要确保系统满足以下条件:JDK 1.4X或更高版本。对于API的使用,仅需要jsp1.2和servlet2.3,而使用taglib则需要jsp2.0和...

Global site tag (gtag.js) - Google Analytics