空間站

          北極心空

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            15 Posts :: 393 Stories :: 160 Comments :: 0 Trackbacks

          1.       Overview

           

          Struts Menu應用是一個JSP標記的集合,支持從XML文件生成各種不同菜單系統。Struts Menu 2.0進行了重構,使用Velocity Templates定義菜單。

          2.       User Guide

           

          2.1.       1.x遷移到2.x

           

          要從Struts Menu1.x升級到2.x,需要做如下改變:

          l         修改標記庫聲明的URI,去掉“1.2

          <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>

          l         修改<plug-in>,使用新的包名“net.sf.navigator

          <plug-in className="net.sf.navigator.menu.MenuPlugIn">

          l         修改menu-config.xml文件,使用新的包名“net.sf.navigator

          <Displayer name="Simple" type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>

          2.2.       快速啟動

           

          l         下載struts-menu分發包

          l         解壓縮到本地目錄

          l         下載并安裝Tomcat或其它Java Servlet容器

          l         struts-menu.war文件拷貝到Tomcat服務器的webapps目錄下,啟動服務器

          l         瀏覽http://localhost:8080/struts-menu

          2.3.       Struts Menu集成到應用中

           

          Struts Menu可以很方便得集成到Struts應用中,也將能夠集成到其它非struts的應用中。下面是繼承標記庫的步驟。

          你所需要做的就是將struts-menu.jar文件拷貝到WEB-INF/lib目錄下,并在JSP頁面中使用標記的URI以聲明標記庫。

          對于Struts Menu 2.1,還需要將JakartaStandard Tag Library Jar拷貝到WEB-INF/lib目錄下。

          l         struts-menu.jar文件拷貝到WEB-INF/lib目錄下

          l         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>

          l         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-INF目錄下的menu-config.xml文件,并修改該文件以適應自己的應用。如果要了解所有相關屬性,請參考MenuBase類的標準文檔。

          l         JSP頁面中添加標記庫的聲明

          <%@ taglib uri="http://struts-menu.sf.net/tag" prefix="menu" %>

          l         JSP頁面中添加標記庫代碼以生成菜單

          <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"/>

           

           

           

          要使用可定制的Velocity模板生成菜單,需要將Velocity集成到web應用中。具體步驟如下:

          l         確保menu-config.xml文件有如下定義:

             <Displayer name="Velocity" type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>

          l         Velocity的相關jar文件拷貝到WEB-INF/lib目錄下

          l         globalMacros.vm文件添加到WEB-INF/classes目錄下

          l         JSP頁面中,修改為name="Velocity",并將config屬性指到一個文件(如config="/templates/tabs.html"),如果文件在WEB-INF/classes目錄下,就是config="tabs.html"

          3.       FAQ

           

          3.1.        在使用菜單訪問JSP時拋出異常:

          org.apache.jasper.JasperException: Could not obtain the menu repository

          解決方法:

          檢查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>

           

           

          <!-- The menuConfig property is an optional attribute. It is set to /WEB-INF/menu-config.xml by default. -->

           

           

           

           

           

          3.2.        如何基于角色隱藏/顯示菜單項

          先在JSP頁面中添加屬性permissions="rolesAdapter"<menu:useMenuDisplayer>標記中;然后在menu-config.xml文件中加入允許看到此菜單項的角色列表,角色之間以逗號分隔。

           

           

           

           

           

          3.3.        基于數據庫的動態菜單

          posted on 2007-06-16 14:58 蘆葦 閱讀(1378) 評論(2)  編輯  收藏 所屬分類: Struts

          Feedback

          # re: Struts Menu中文文檔綜述 2008-01-17 14:31 11
          11
            回復  更多評論
            

          # struts2中struts-menu的國際化 2008-03-07 10:16 cash
          struts2.0 中使用struts-menu,menu國際化是怎么弄了  回復  更多評論
            

          主站蜘蛛池模板: 根河市| 年辖:市辖区| 盘山县| 垣曲县| 龙南县| 富阳市| 江山市| 三江| 西平县| 公主岭市| 武邑县| 剑阁县| 威信县| 上栗县| 亳州市| 宜良县| 汾西县| 克山县| 台前县| 武夷山市| 兴业县| 邻水| 安顺市| 余庆县| 鄱阳县| 都昌县| 北京市| 论坛| 临桂县| 密山市| 米脂县| 保山市| 通许县| 井陉县| 广昌县| 旬邑县| 勃利县| 昆明市| 交口县| 东海县| 承德县|