IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Personaliser panelMenu utilisant Facelet


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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;


  2. #2
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour,
    Il te manquerait pas la déclaration du taglib dans web.xml ?

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <context-param>
    	<param-name>facelets.LIBRARIES</param-name>
    	<param-value>/WEB-INF/menu.taglib.xml</param-value>
    </context-param>

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2007
    Messages
    111
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 111
    Par défaut
    non,

    voila mon fichier web.xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      <display-name>firstComposant</display-name>
      <context-param>
      <param-name>javax.faces.DEFAULT_SUFFIX</param-name>
      <param-value>.xhtml</param-value>
      </context-param>
       <context-param>
            <param-name>org.ajax4jsf.xmlparser.NEKO</param-name>
            <param-value>/pages/repeat\.xhtml</param-value>
        </context-param>
        <context-param>
            <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
            <param-value>NONE,NEKO,TIDY</param-value>
        </context-param>
     
        <context-param>
            <param-name>org.ajax4jsf.xmlparser.NONE</param-name>
            <param-value>/pages/performance\.xhtml,/pages/default.*\.xhtml</param-value>
        </context-param>
        <context-param>
              <param-name>org.richfaces.LoadScriptStrategy</param-name>
              <param-value>ALL</param-value>
        </context-param>  
      <context-param>
       <param-name>facelets.LIBRARIES</param-name>
       <param-value>/WEB-INF/monJeu.taglib.xml</param-value>
       </context-param>
     
        </context-param>    
      <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>default.html</welcome-file>
        <welcome-file>default.htm</welcome-file>
        <welcome-file>default.jsp</welcome-file>
      </welcome-file-list>
      <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
      </servlet-mapping>
     
    </web-app>

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/06/2009, 09h47
  2. Réponses: 3
    Dernier message: 29/04/2008, 12h33
  3. Entete facelet personalisable
    Par maloups dans le forum JSF
    Réponses: 2
    Dernier message: 17/08/2007, 15h35
  4. [Visual Web] Utilisation des Facelets avec VWP
    Par fabou3377 dans le forum NetBeans
    Réponses: 2
    Dernier message: 03/04/2007, 08h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo