歡迎您光臨本站 註冊首頁

實例編程:Struts-Menu的實現與配置

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  一、簡介

  Struts-Menu是一組從基於XML的配置文件中生成多種樣式的菜單的JSP Tags,並且可以結合API開發通過資料庫生成的動態菜單.Struts-Menu支持國際化和多種許可權控制.

  二、運行環境

  Windows 2000 Professional

  JDK 1.4.2_03

  Eclipse 3.1

  Tomcat 5.0.28

  Tomcat Plugin 3.1Beta

  Struts 1.2.7

  Commons-Lang 2.1

  Commons-Collections 3.1

  Struts-Menu 2.3

  MySQL 4.1.10a-nt

  三、下載與安裝

  1:從http://java.sun.com下載J2SDK,當前1.4.x系列的最新版本為1.4.2_08

  2:從http://www.eclipse.org下載Eclipse,當前最新版本為3.1正式版

  3:從http://jakarta.apache.org/tomcat下載Tomcat,當前5.x系列的最新版本為5.0.28

  4:從http://www.sysdeo.com/eclipse/tomcatplugin下載Eclipse的Tomcat插件,對應Eclipse3.1x的最新版本為3.1Beta

  5:從http://struts.apache.org下載Struts,當前最新版本為1.2.7

  6:從http://jakarta.apache.org/commons/下載Commons-Lang,當前最新版本為2.1,下載Commons-Collections,當前最新版本為3.1

  7:從http://struts-menu.sourceforge.net下載Struts Menu,當前最新版本為2.3

  8:從http://www.mysql.com下載MySQL資料庫,4.x系列的最新版本是4.1.12a

  9:MySQL、JDK、Eclipse、Tomcat和TomcatPlugin的安裝及配置請參考相關資料

  四、運行示常式序

  1:安裝好Tomcat后,解壓縮struts-menu-2.3.zip,將struts-menu.war釋放到Tomcat安裝目錄下的webapps下,運行Tomcat

  2:在地址欄輸入http://localhost:8080/struts-menu

  五、安裝與配置

  1:在Eclipse中新建Tomcat項目,Context為/mymenu,Subdirectory為/web

  2:在項目目錄下面新建lib目錄和web目錄及WEB-INF,在web/WEB-INF目錄下新建web.xml,內容如下:

< ?xml version="1.0" encoding="ISO-8859-1"?>

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">



< DISPLAY-NAME>My Example Application -- Vinton Lee

< !-- ============= The Struts ActionServlet Configuration ============= -->
< SERVLET>
< SERVLET-NAME>action< /SERVLET-NAME>
< SERVLET-CLASS>org.apache.struts.action.ActionServlet< /SERVLET-CLASS>
< INIT-PARAM>
< PARAM-NAME>config< /PARAM-NAME>
< PARAM-VALUE>/WEB-INF/struts-config.xml< /PARAM-VALUE>
< /INIT-PARAM>

1
< /SERVLET>
< !-- ================================================================== -->

< !-- ============= The Struts Action Servlet Mapping ================== -->
< SERVLET-MAPPING>
< SERVLET-NAME>action< /SERVLET-NAME>
< URL-PATTERN>*.do< /URL-PATTERN>
< /SERVLET-MAPPING>

< !-- =============== The Struts Taglib Definition ===================== -->
< TAGLIB>
< TAGLIB-URI>struts-bean
< TAGLIB-LOCATION>/WEB-INF/struts-bean.tld< /TAGLIB-LOCATION>
< /TAGLIB>
< TAGLIB>
< TAGLIB-URI>struts-html< /TAGLIB-URI>
< TAGLIB-LOCATION>/WEB-INF/struts-html.tld< /TAGLIB-LOCATION>
< /TAGLIB>
< TAGLIB>
< TAGLIB-URI>struts-logic< /TAGLIB-URI>
< TAGLIB-LOCATION>/WEB-INF/struts-logic.tld< /TAGLIB-LOCATION>
< /TAGLIB>
< TAGLIB>
< TAGLIB-URI>struts-nested
< TAGLIB-LOCATION>/WEB-INF/struts-nested.tld< /TAGLIB-LOCATION>
< /TAGLIB>
< TAGLIB>
< TAGLIB-URI>struts-tiles< /TAGLIB-URI>
< TAGLIB-LOCATION>/WEB-INF/struts-tiles.tld< /TAGLIB-LOCATION>
< /TAGLIB>
< !-- ================================================================== -->

< !-- ============= The Struts-Menu Taglib Definition ================== -->
< TAGLIB>
< TAGLIB-URI>struts-menu< /TAGLIB-URI>
< TAGLIB-LOCATION>/WEB-INF/struts-menu.tld
< /TAGLIB>
< !-- ================================================================== -->


   3:解壓縮struts-1.2.7.zip,將壓縮包中的lib目錄下所有的8個jar釋放到lib目錄中,將5個tld文件釋放到webWEB-INF目錄中,在webWEB-INF目錄中新建struts-config.xml,內容如下:


 "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN""http://struts.apache.org/dtds/struts-config_1_2.dtd">
  < !-- ========== Data Source Configuration =============================== -->< DATA-SOURCES />
  < !-- ========== Form Bean Definitions =================================== -->< FORM-BEANS />
  < !-- ========== Global Exception Definitions ============================ -->< GLOBAL-EXCEPTIONS />
  < !-- ========== Global Forward Definitions ============================== -->< GLOBAL-FORWARDS />
  < !-- ========== Action Mapping Definitions ============================== -->< ACTION-MAPPINGS />
  < !-- ========== Controller Configuration ================================ -->
  < !-- ========== Message Resources Definitions =========================== -->< MESSAGE-RESOURCES parameter="application" />
  < !-- ========== Plug Ins Configuration ================================== -->< PLUG-IN className="net.sf.navigator.menu.MenuPlugIn">< SET-PROPERTY value="/WEB-INF/menu-config.xml" property="menuConfig" />< /PLUG-IN>

  4:解壓縮struts-menu-2.3.zip,將壓縮包中的jstl-1.0.6.jar、standard-1.0.6.jar、struts-menu-2.3.jar釋放到lib目錄中,將壓縮包中的struts-menu.tld、struts-menu-el.tld釋放到webWEB-INF目錄中,解壓縮commons-lang-2.1.zip,將commons-lang-2.1.jar解壓縮到lib目錄中,注意,在Struts-Menu的文檔中沒有看到需要這個包,但是沒有這個包卻無法成功載入.在webWEB-INF目錄中新建menu-config.xml,內容如下:

< ?xml version="1.0" encoding="UTF-8" ?>

< MENUCONFIG>


< DISPLAYERS>
< DISPLAYER
type="net.sf.navigator.displayer.DropDownMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.CoolMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.CoolMenuDisplayer4"/>
< DISPLAYER
type="net.sf.navigator.example.PermissionsFormMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.ListMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.TabbedMenuDisplayer"/>
< DISPLAYER
type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>
< /DISPLAYERS>


< MENUS>
< MENU title=DoorSite name="DoorSite" width="50" description="Some famous doorsite" >

< ITEM title="Yahoo Index" name="YahooIndex" ? location="

< A href=www.51cto.comlocation="http://www.51cto.com"/ >
< ITEM title=Sina name="Sina" ? location="

< A href=' http: www.sina.com.cn?>http://www.sina.com.cn"/ >

  5:將第四步的示常式序中的struts-menu應用目錄下的images、scripts、styles三個目錄中的內容複製到web目錄下

  6:你的目錄結構應該類似如下:

%PROJECT_HOME%classes
%PROJECT_HOME%lib
%PROJECT_HOME%libantlr.jar
%PROJECT_HOME%libcommons-beanutils.jar
%PROJECT_HOME%libcommons-digester.jar
%PROJECT_HOME%libcommons-fileupload.jar
%PROJECT_HOME%libcommons-lang-2.1.jar
%PROJECT_HOME%libcommons-logging.jar
%PROJECT_HOME%libcommons-validator.jar
%PROJECT_HOME%libjakarta-oro.jar
%PROJECT_HOME%libjstl-1.0.6.jar
%PROJECT_HOME%libstandard-1.0.6.jar
%PROJECT_HOME%libstruts.jar
%PROJECT_HOME%libstruts-menu-2.3.jar
%PROJECT_HOME%src
%PROJECT_HOME%srclog4j.properties
%PROJECT_HOME%srcapplication.properties
%PROJECT_HOME%srcapplication_zh_CN.properties
%PROJECT_HOME%web
%PROJECT_HOME%webimages
%PROJECT_HOME%webscripts
%PROJECT_HOME%webstyles
%PROJECT_HOME%webWEB-INF
%PROJECT_HOME%webWEB-INFmenu-config.xml
%PROJECT_HOME%webWEB-INFstruts-bean.tld
%PROJECT_HOME%webWEB-INFstruts-config.xml
%PROJECT_HOME%webWEB-INFstruts-html.tld
%PROJECT_HOME%webWEB-INFstruts-logic.tld
%PROJECT_HOME%webWEB-INFstruts-menu.tld
%PROJECT_HOME%webWEB-INFstruts-menu-el.tld
%PROJECT_HOME%webWEB-INFstruts-nested.tld
%PROJECT_HOME%webWEB-INFstruts-tiles.tld
%PROJECT_HOME%webWEB-INFweb.xml

  六、實戰Struts-Menu

  1:使用配置文件實現靜態菜單

  新建JSP文件web/static-menu.jsp,內容如下:

< %@ taglib uri="struts-menu" prefix="menu" %>

< ?xml:namespace prefix = menu />< menu:useMenuDisplayer
bundle="org.apache.struts.action.MESSAGE">
< menu:displayMenu name="DoorSite">< /menu:displayMenu>

 運行Tomcat,在IE地址欄輸入http://localhost:8080/mymenu/static-menu.jsp查看


[火星人 ] 實例編程:Struts-Menu的實現與配置已經有929次圍觀

http://coctec.com/docs/java/show-post-61159.html