Personaliser panelMenu utilisant Facelet
	
	
		Bonsoir,
aprés la proposition de djo.mos voilà que je pose ma question clairement.
j'utilise eclipse europa 3.3,jsf1.2,facelet 3 et richFaces pour mettre en place un menu vertical.
j'ai volu faire mon composant personalisé donc j'ai developpé un premier fichier menu.xml sous le rep /WEB-INF/composant:
	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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
   |  
<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich">
<ui:composition
	<style>
.cols {
	vertical-align: top;
	width: 50%;
}
</style>
	<h:form id="form">
		<h:panelGrid columns="2" columnClasses="cols" width="100%">
			<rich:panelMenu style="width:200px" mode="ajax"
				iconExpandedGroup="disc" iconCollapsedGroup="disc"
				iconExpandedTopGroup="chevronUp" iconGroupTopPosition="right"
				iconCollapsedTopGroup="chevronDown" iconCollapsedTopPosition="right">
				<rich:panelMenuGroup label="Group 1">
					<rich:panelMenuItem label="Item 1.1"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 1.1" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 1.2"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 1.2" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 1.3"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 1.3" />
					</rich:panelMenuItem>
				</rich:panelMenuGroup>
				<rich:panelMenuGroup label="Group 2">
					<rich:panelMenuItem label="Item 2.1"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 2.1" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 2.2"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 2.2" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 2.3"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 2.3" />
					</rich:panelMenuItem>
					<rich:panelMenuGroup label="Group 2.4">
						<rich:panelMenuItem label="Item 2.4.1"
							action="#{panelMenu.updateCurrent}">
							<f:param name="current" value="Item 2.4.1" />
						</rich:panelMenuItem>
						<rich:panelMenuItem label="Item 2.4.2"
							action="#{panelMenu.updateCurrent}">
							<f:param name="current" value="Item 2.4.2" />
						</rich:panelMenuItem>
						<rich:panelMenuItem label="Item 2.4.3"
							action="#{panelMenu.updateCurrent}">
							<f:param name="current" value="Item 2.4.3" />
						</rich:panelMenuItem>
					</rich:panelMenuGroup>
					<rich:panelMenuItem label="Item 2.5"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 2.5" />
					</rich:panelMenuItem>
				</rich:panelMenuGroup>
				<rich:panelMenuGroup label="Group 3">
					<rich:panelMenuItem label="Item 3.1"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 3.1" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 3.2"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 3.2" />
					</rich:panelMenuItem>
					<rich:panelMenuItem label="Item 3.3"
						action="#{panelMenu.updateCurrent}">
						<f:param name="current" value="Item 3.3" />
					</rich:panelMenuItem>
				</rich:panelMenuGroup>
			</rich:panelMenu>
			<rich:panel>
				<a4j:outputPanel ajaxRendered="true">
					<h:outputText value="#{panelMenu.current} selected" id="current" />
				</a4j:outputPanel>
			</rich:panel>
		</h:panelGrid>
	</h:form>
</ui:composition>
 
</html> | 
 ensuite le fichier menu.taglib.xml sous le rep /WEB-INF:
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12
   |  
<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC
"-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
"facelet-taglib_1_0.dtd">
<facelet-taglib>
<namespace>http://www.developpez.com/jsfEtFacelets/menu</namespace>
<tag>
<tag-name>menu</tag-name>
<source>composant/menu.xhtml</source>
</tag>
</facelet-taglib>  | 
 et enfin j'ai appelé mon menu avec le fichier test.xhtml
	Code:
	
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
   |  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:mj=" http://www.developpez.com/jsfEtFacelets/menu">
<head>
<title>Ma premiere page XHTML avec facelets</title>
</head>
<body>
<f:view>
<h:outputText value="mon menu"/>
<mj:menu />
</f:view>
</body>
</html>  | 
 à l'execution tomcat m'affiche le message"mon menu" mais il n'affiche pas le menu.
la console eclipse affiche 
	Code:
	
1 2 3 4 5
   |  
4 avr. 2008 00:04:12 org.apache.tomcat.util.digester.SetPropertiesRule begin
ATTENTION: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:DynamicMenu' did not find a matching property.
4 avr. 2008 00:04:12 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.6.0_05\bin;.;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files\Java\jre1.6.0_05\bin\client;C:\Program Files\Java\jre1.6.0_05\bin;C:\jdk5\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\jdk1.5\bin;C:\ant\bin; | 
 
:merci: