一、简介
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"
< !-- =============== The Struts Taglib Definition ===================== --> |
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> < MENUS> < A href=www.51cto.comlocation="http://www.51cto.com"/ > < A href= http: www.sina.com.cn?>http://www.sina.com.cn"/ A>> |
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-filetemp.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 |
运行Tomcat,在IE地址栏输入http://localhost:8080/mymenu/static-menu.jsp查看