[Struts Menu] ne marche pas dans mon application
Salut tout le monde,
Je suis en train de travailler sur une application web en utilisant struts1.2, eclipse3.2,apache tomcat5.5.17.
De plus j'utilise tiles pour le découpage de l'ecran.
Dans cette application, je veux bien utiliser des menu "struts-menu".
La page pour regrouper les footer.jsp,header.jsp,menu.jsp,body.jsp est la suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| <body>
<table border="0" width="800" height="600" cellspacing="3">
<tr class="large" height="50">
<td width="600">
<tiles:insert attribute='header' />
</td>
</tr>
<tr class="large" height="100">
<td width="600">
<tiles:insert attribute='menu' />
</td>
</tr>
<tr height="470">
<td width="600" valign="top" align="body">
<tiles:insert attribute='body' />
</td>
</tr>
<tr height="50">
<td width="600">
<tiles:insert attribute='footer'/>
</td>
</tr>
</table>
</body> |
la page tiles-def contient les liens correspondants :
Code:
1 2 3 4 5 6
| <definition name="base.defenition" path="/WEB-INF/jsp/tiles.jsp">
<put name="title" value="Base" />
<put name="footer" value="/WEB-INF/jsp/footer.jsp" />
<put name="header" value="/WEB-INF/jsp/header.jsp" />
<put name="menu" value="/WEB-INF/jsp/menu.jsp" />
</definition> |
le type de menu que je l'utilisé est CoolMenu pour cela j'ai fait 2 jsp :
menu.jsp:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| <%@ include file="/common/taglibs.jsp"%>
<head>
<link rel="stylesheet" type="text/css" media="screen" href="/version0/styles/puzzlewithstyle.css" />
</head>
<div id="sim_li">
<center>
<menu:useMenuDisplayer name="CoolMenu" config="web/WEB-INF/classes/cssHorizontalMenu.vm" permissions="rolesAdapter">
<ul id="primary-nav" class="menuList">
<li class="pad"> </li>
<c:if test="${empty pageContext.request.remoteUser}">
<li>
<a href="<c:url value="/login.jsp"/>" class="current">
<fmt:message key="login.title"/>
</a>
</li>
</c:if>
<menu:displayMenu name="MainMenu"/>
<menu:displayMenu name="UserMenu"/>
<menu:displayMenu name="AdminMenu"/>
<menu:displayMenu name="Logout"/>
</ul>
</menu:useMenuDisplayer>
<script type="text/javascript">
/*<![CDATA[*/
var navItems = document.getElementById("primary-nav").getElementsByTagName("li");
for (var i=0; i<navItems.length; i++) {
if(navItems[i].className == "menubar") {
navItems[i].onmouseover=function() { this.className += " over"; }
navItems[i].onmouseout=function() { this.className = "menubar"; }
}
}
/*]]>*/
</script>
</center>
</div> |
menu-config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| <?xml version="1.0" encoding="UTF-8"?>
<MenuConfig>
<Displayers>
<Displayer name="CoolMenu" type="net.sf.navigator.displayer.CoolMenuDisplayer"/>
</Displayers>
<Menus>
<Menu name="MainMenu" title="mainMenu.title" page="/mainMenu.html" roles="admin,user"/>
<Menu name="UserMenu" title="menu.user" description="User Menu" forward="editProfile" roles="admin,user"/>
<Menu name="AdminMenu" title="menu.admin" description="Admin Menu" roles="admin" width="120" forward="viewUsers">
<Item name="UsersMenu" title="Utilisateurs">
<Item name="ViewUsers" title="menu.admin.users" forward="viewUsers"/>
<Item name="ActiveUsers" title="mainMenu.activeUsers" action="activeUsers"/>
<Item name="NewUser" title="menu.admin.newUser" forward="addUser"/>
<Item name="SearchUser" title="menu.admin.searchUser" forward="searchUser"/>
</Item>
<Item name="RolesMenu" title="roles">
<Item name="ViewRoles" title="menu.admin.roles" forward="viewRoles"/>
<Item name="NewRole" title="menu.admin.newRole" forward="addRole"/>
<Item name="SearchRole" title="menu.admin.searchRole" forward="searchRole"/>
</Item>
<Item name="Clickstream" title="menu.clickstream" page="/clickstreams.jsp"/>
</Menu>
<Menu name="Logout" title="user.logout" page="/logout.jsp" roles="admin,user"/>
<Menu name="Logout2" title="user.logout" page="/logout.jsp"/>
</Menus>
</MenuConfig> |
Le problème c'est qu'au moment de l'exécution, le menu que j'ai déjà déclaré n'apparaît pas.
Si quelqu'un a une idée alors n'hésitez pas.
Merci