struts-menu可以做成各种各样的menu,这里演示一些简单的用法。方便入门
一、在sourceforge上下载最新版本的strutsmenu
http://struts-menu.sourceforge.net/
解压缩zip文件得到struts-menu.war,解压缩它,要用到里边的js文件,imgage文件和css文件等
这个本来是struts-menu的演示工程,本文简化了里边的东西,选择里边比较有代表性的几个拿出。
二、新建一个web工程。
拷贝相应的类库到lib目录下。
velocity-tools-view-1.0.jar
velocity-1.4.jar
struts-menu-2.4.2.jar
struts-1.2.9.jar
standard-1.0.6.jar
log4j-1.2.8.jar
jstl-1.0.6.jar
commons-logging-1.0.4.jar
等,基本就是struts-menu工程中的jar文件
拷贝struts-menu工程中的common image scripts styles templates等目录到新的web工程
拷贝taglib.jsp到webroot下
三.新建一个jsp文件index.jsp内容如下
一、在sourceforge上下载最新版本的strutsmenu
http://struts-menu.sourceforge.net/
解压缩zip文件得到struts-menu.war,解压缩它,要用到里边的js文件,imgage文件和css文件等
这个本来是struts-menu的演示工程,本文简化了里边的东西,选择里边比较有代表性的几个拿出。
二、新建一个web工程。
拷贝相应的类库到lib目录下。
velocity-tools-view-1.0.jar
velocity-1.4.jar
struts-menu-2.4.2.jar
struts-1.2.9.jar
standard-1.0.6.jar
log4j-1.2.8.jar
jstl-1.0.6.jar
commons-logging-1.0.4.jar
等,基本就是struts-menu工程中的jar文件
拷贝struts-menu工程中的common image scripts styles templates等目录到新的web工程
拷贝taglib.jsp到webroot下
三.新建一个jsp文件index.jsp内容如下
<%@ include file="/taglibs.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Struts Menu Example Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="scripts/nicetabs.js"></script>
<link rel="stylesheet" type="text/css" media="screen"
href="styles/global.css" />
<link rel="stylesheet" type="text/css" media="screen"
href="styles/nicetabs.css" />
</head>
<body id="index">
<div id="content" style="width: 100%">
<h2>Struts Menu Examples</h2>
<p>
Click on the menu links below to see the different types of menus
supported by Struts Menu.
</p>
<menu:useMenuDisplayer name="Velocity" config="/templates/index.html">
<ul class="glassList">
<menu:displayMenu name="indexMenu"/>
</ul>
</menu:useMenuDisplayer>
</div>
<div id="footer">
<a href="http://struts-menu.sf.net">Struts Menu Homepage</a>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Struts Menu Example Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="scripts/nicetabs.js"></script>
<link rel="stylesheet" type="text/css" media="screen"
href="styles/global.css" />
<link rel="stylesheet" type="text/css" media="screen"
href="styles/nicetabs.css" />
</head>
<body id="index">
<div id="content" style="width: 100%">
<h2>Struts Menu Examples</h2>
<p>
Click on the menu links below to see the different types of menus
supported by Struts Menu.
</p>
<menu:useMenuDisplayer name="Velocity" config="/templates/index.html">
<ul class="glassList">
<menu:displayMenu name="indexMenu"/>
</ul>
</menu:useMenuDisplayer>
</div>
<div id="footer">
<a href="http://struts-menu.sf.net">Struts Menu Homepage</a>
</div>
</body>
</html>
WEB-INF下建立struts-config.xml内容如下
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== Plug Ins Configuration ================================== -->
<plug-in className="net.sf.navigator.menu.MenuPlugIn">
<set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>
</plug-in>
</struts-config>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd">
<struts-config>
<!-- ========== Plug Ins Configuration ================================== -->
<plug-in className="net.sf.navigator.menu.MenuPlugIn">
<set-property property="menuConfig" value="/WEB-INF/menu-config.xml"/>
</plug-in>
</struts-config>
建立menu-config.xml内容如下
<?xml version="1.0" encoding="UTF-8" ?>
<MenuConfig>
<Displayers>
<Displayer name="DropDown"
type="net.sf.navigator.displayer.DropDownMenuDisplayer"/>
<Displayer name="Simple"
type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>
<Displayer name="CoolMenu"
type="net.sf.navigator.displayer.CoolMenuDisplayer"/>
<Displayer name="CoolMenu4"
type="net.sf.navigator.displayer.CoolMenuDisplayer4"/>
<Displayer name="MenuForm"
type="net.sf.navigator.example.PermissionsFormMenuDisplayer"/>
<Displayer name="ListMenu"
type="net.sf.navigator.displayer.ListMenuDisplayer"/>
<Displayer name="TabbedMenu"
type="net.sf.navigator.displayer.TabbedMenuDisplayer"/>
<Displayer name="Velocity"
type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>
<Displayer name="XtreeMenu"
type="net.sf.navigator.displayer.XtreeMenuDisplayer"/>
<Displayer name="CSSListMenu"
type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>
</Displayers>
<Menus>
<Menu name="indexMenu" title="Examples">
<!-- page attribute indicating a context relative resource.
The context path will be prepended to the value. -->
<Item title="tablemeun"
toolTip="Shows table menu"
page="/tablemenu.jsp"/>
<Item name="listmenu" title="CoolMenu Example"
toolTip="Shows menu using CoolMenu"
page="/listmenu.jsp"/>
<Item title="Velocity XTree Menu"
toolTip="Shows Velocity generated XTree"
page="/velocity-xtree.jsp"/>
</Menu>
</Menus>
</MenuConfig>
<MenuConfig>
<Displayers>
<Displayer name="DropDown"
type="net.sf.navigator.displayer.DropDownMenuDisplayer"/>
<Displayer name="Simple"
type="net.sf.navigator.displayer.SimpleMenuDisplayer"/>
<Displayer name="CoolMenu"
type="net.sf.navigator.displayer.CoolMenuDisplayer"/>
<Displayer name="CoolMenu4"
type="net.sf.navigator.displayer.CoolMenuDisplayer4"/>
<Displayer name="MenuForm"
type="net.sf.navigator.example.PermissionsFormMenuDisplayer"/>
<Displayer name="ListMenu"
type="net.sf.navigator.displayer.ListMenuDisplayer"/>
<Displayer name="TabbedMenu"
type="net.sf.navigator.displayer.TabbedMenuDisplayer"/>
<Displayer name="Velocity"
type="net.sf.navigator.displayer.VelocityMenuDisplayer"/>
<Displayer name="XtreeMenu"
type="net.sf.navigator.displayer.XtreeMenuDisplayer"/>
<Displayer name="CSSListMenu"
type="net.sf.navigator.displayer.CSSListMenuDisplayer"/>
</Displayers>
<Menus>
<Menu name="indexMenu" title="Examples">
<!-- page attribute indicating a context relative resource.
The context path will be prepended to the value. -->
<Item title="tablemeun"
toolTip="Shows table menu"
page="/tablemenu.jsp"/>
<Item name="listmenu" title="CoolMenu Example"
toolTip="Shows menu using CoolMenu"
page="/listmenu.jsp"/>
<Item title="Velocity XTree Menu"
toolTip="Shows Velocity generated XTree"
page="/velocity-xtree.jsp"/>
</Menu>
</Menus>
</MenuConfig>
部署工程,访问,出现如下效果。
这是最普通的效果。
试着往menu-config.xml中加入item对应的menu也会跟着增加。
下篇文章将继续提供一些更漂亮一些的menu
struts-menu(tablemenu样式)
上篇文章讲了如何使用struts-menu这篇在上篇的基础上增加如果美化menu作出漂亮的menu来
1,tablemenu
新建一个jsp文件tablemenu.jsp,内容如下:
<%@ include file="/taglibs.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Struts Menu Example Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="scripts/nicetabs.js"></script>
<link rel="stylesheet" type="text/css" media="screen"
href="styles/global.css" />
<link rel="stylesheet" type="text/css" media="screen"
href="styles/nicetabs.css" />
</head>
<div id="header">
<menu:useMenuDisplayer name="Velocity" config="/templates/indextabs.html"
bundle="org.apache.struts.action.MESSAGE">
<ul id="menuList">
<menu:displayMenu name="projectMenu"/>
</ul>
</menu:useMenuDisplayer>
</div>
<%@ include file="/common/footer.jsp"%>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Struts Menu Example Application</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="scripts/nicetabs.js"></script>
<link rel="stylesheet" type="text/css" media="screen"
href="styles/global.css" />
<link rel="stylesheet" type="text/css" media="screen"
href="styles/nicetabs.css" />
</head>
<div id="header">
<menu:useMenuDisplayer name="Velocity" config="/templates/indextabs.html"
bundle="org.apache.struts.action.MESSAGE">
<ul id="menuList">
<menu:displayMenu name="projectMenu"/>
</ul>
</menu:useMenuDisplayer>
</div>
<%@ include file="/common/footer.jsp"%>
</html>
在menu-config.xml的menus之间加入如下内容
<Menu name="projectMenu" title="Project Menu">
<Item title="Home" toolTip="Return to List of Menus" page="/index.jsp"/>
<Item title="Documentation" toolTip="View Project Documentation"
location="http://struts-menu.sf.net"/>
<Item title="FAQs" toolTip="View Frequenty Asked Questions"
location="http://struts-menu.sf.net/faq.html"/>
<Item title="Mailing Lists" toolTip="Subscribe to Mailing Lists"
location="http://sourceforge.net/mail/?group_id=48726"/>
<Item title="Mailing List Archives"
toolTip="Search the Mailing List Archives"
location="http://www.mail-archive.com/index.php?hunt=struts-menu"/>
</Menu>
<Item title="Home" toolTip="Return to List of Menus" page="/index.jsp"/>
<Item title="Documentation" toolTip="View Project Documentation"
location="http://struts-menu.sf.net"/>
<Item title="FAQs" toolTip="View Frequenty Asked Questions"
location="http://struts-menu.sf.net/faq.html"/>
<Item title="Mailing Lists" toolTip="Subscribe to Mailing Lists"
location="http://sourceforge.net/mail/?group_id=48726"/>
<Item title="Mailing List Archives"
toolTip="Search the Mailing List Archives"
location="http://www.mail-archive.com/index.php?hunt=struts-menu"/>
</Menu>
部署运行工程,从主页点击tablemenu进入tablemenu的页面如图: