随笔-193  评论-715  文章-1  trackbacks-0
 官方英文版向导(http://struts-menu.sourceforge.net/userguide.html

一、从1.X升级到2.X需要做以下事情:
1、改变你的taglib声明中的URI。
 <% at 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"/>

二、快速开始:
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="http://struts-menu.sf.net/tag" 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在你喜爱的浏览器中。

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

posted on 2005-11-28 10:15 Robin's Programming World 阅读(6520) 评论(10)  编辑  收藏 所属分类: Java翻译

评论:
# re: [译]Struts Menu开发向导 2006-09-25 08:48 | 坏男孩
顶啊!  回复  更多评论
  
# re: [译]Struts Menu开发向导 2007-01-23 15:58 | Fisher
下载不到啊~ 能够提供下载嘛?  回复  更多评论
  
# re: [译]Struts Menu开发向导 2007-03-05 09:34 | Robin's Java World
可以在http://struts-menu.sourceforge.net/上下载呀。  回复  更多评论
  
# re: [译]Struts Menu开发向导 2007-05-08 14:29 | 文良
顶一下  回复  更多评论
  
# re: [译]Struts Menu开发向导 2007-06-01 13:25 | 逝去的梦
多谢朋友指点!这篇文章是我唯一看后能成功调试成功的!多谢!  回复  更多评论
  
# re: [译]Struts Menu开发向导 2007-06-03 17:10 | Robin's Java World
@逝去的梦
谢谢支持!  回复  更多评论
  
# re: [译]Struts Menu开发向导[未登录] 2008-05-15 16:46 | Jason
转来转去的,有意思吗?  回复  更多评论
  
# re: [译]Struts Menu开发向导 2008-05-15 19:51 | Robin's Java World
@Jason
我这不是转的,这是我译的。
你在其它地方看到的都是转的我译的。  回复  更多评论
  
# re: [译]Struts Menu开发向导 2008-06-26 10:21 | glitgirl
支持下楼主,我在别处看到过转载的来源是这里,谢谢楼主的翻译!  回复  更多评论
  
# re: [译]Struts Menu开发向导 2008-06-26 12:04 | Robin's Java World
@glitgirl
谢谢支持!  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航: