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 :

remplir tabpanel dynamique par une liste de données


Sujet :

JSF Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 5
    Points
    5
    Par défaut remplir tabpanel dynamique par une liste de données
    bonjour

    alors le m'explique je viens faire tourner le tutoriel de génération de tabpanel dynamique et maintenant je veux remplir mes tabs par une liste de données c'est a dire si j'ai dans ma liste 3 données je génére 3 tabs avec les 3 données.
    ya t'il un exemple ou un tutoriel qui pourra m'aider .

    et merci d'avance

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    tu fais la même chose pour les tabs, si tu as compris le principe, c'est la même chose.

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 5
    Points
    5
    Par défaut
    alors que j'essaye de faire tourner cet exemple il ne marche pas les onglet son vide


    client.java:

    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
    package Dto;
     
    public class Client {
    	private int id ;
    	private String nom;
    	private String prenom;
     
     
     
    	public int getId() {
    		return id;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public String getNom() {
    		return nom;
    	}
    	public void setNom(String nom) {
    		this.nom = nom;
    	}
    	public String getPrenom() {
    		return prenom;
    	}
    	public void setPrenom(String prenom) {
    		this.prenom = prenom;
    	}
     
     
     
     
    }
    MyBean.java
    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
    package Facade;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import javax.faces.context.FacesContext;
     
    import Dto.Client;
     
    public class MyBean {
    	private List<Client> clients = new ArrayList<Client>();
    public String remplir(){
    Client c1 = new Client();
    		c1.setId(1);
    		c1.setNom("david");
    		c1.setPrenom("chaker");
    		clients.add(c1);
    		Client c2 = new Client();
    		c2.setId(2);
    		c2.setNom("anouar");
    		c2.setPrenom("grary");
    		clients.add(c2);
    		return "rempli";
    	}
     
     
    	public List<Client> getClients() {
    		System.out.print(clients.get(0).getPrenom());
    		return clients;
    	}
     
     
    	public void setClients(List<Client> clients) {
    		this.clients = clients;
    	}
    	}
    index.jsp:
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <f:view>
    <h:form>
    <h:commandButton value="Submit" action="#{myBean.remplir}"></h:commandButton>
    </h:form>
     
    </f:view>
    </body>
    </html>
    view.java :
    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
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
    <%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
    <f:view>
    <h:form>
     
     
    <rich:tabPanel id="tapPanel" width="700">
    <c:forEach items="#{myBean.clients}" var="client">
    <rich:tab label="#{client.nom}">
     
    </rich:tab>-->
     
    </c:forEach>
    </rich:tabPanel>
     
    </h:form>
    </f:view>
    </body>
    </html>
    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
    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_3.xsd"
        version="2.4">
        <display-name>BordereauGenerator</display-name>
        <!-- Extensions Filter -->
        <filter>
    	<filter-name>MyFacesExtensionsFilter</filter-name>
    	<filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
            <init-param>
                <param-name>maxFileSize</param-name>
                <param-value>20m</param-value>
                <description>Set the size limit for uploaded files.
                    Format: 10 - 10 bytes
                            10k - 10 KB
                            10m - 10 MB
                            1g - 1 GB
                </description>
            </init-param>
        </filter>
     
        <!-- extension mapping for adding <script/>, <link/>, and other resource tags to JSF-pages  -->
        <filter-mapping>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <!-- servlet-name must match the name of your javax.faces.webapp.FacesServlet entry -->
            <servlet-name>Faces Servlet</servlet-name>
        </filter-mapping>
     
        <!-- extension mapping for serving page-independent resources (javascript, stylesheets, images, etc.)  -->
        <filter-mapping>
            <filter-name>MyFacesExtensionsFilter</filter-name>
            <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
        </filter-mapping>
     
     
        <context-param>
            <param-name>javax.faces.CONFIG_FILES</param-name>
            <param-value>/WEB-INF/faces-config.xml</param-value>
            <description>
                Comma separated list of URIs of (additional) faces config files.
                (e.g. /WEB-INF/my-config.xml)
                See JSF 1.0 PRD2, 10.3.2
            </description>
        </context-param>
     
        <context-param>
            <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
            <param-value>client</param-value>
            <description>
                State saving method: "client" or "server" (= default)
                See JSF Specification 2.5.2
            </description>
        </context-param>
     
        <context-param>
            <param-name>org.apache.myfaces.ALLOW_JAVASCRIPT</param-name>
            <param-value>true</param-value>
            <description>
                This parameter tells MyFaces if javascript code should be allowed in the
                rendered HTML output.
                If javascript is allowed, command_link anchors will have javascript code
                that submits the corresponding form.
                If javascript is not allowed, the state saving info and nested parameters
                will be added as url parameters.
                Default: "true"
            </description>
        </context-param>
     
        <context-param>
            <param-name>org.apache.myfaces.PRETTY_HTML</param-name>
            <param-value>true</param-value>
            <description>
                If true, rendered HTML code will be formatted, so that it is "human readable".
                i.e. additional line separators and whitespace will be written, that do not
                influence the HTML code.
                Default: "true"
            </description>
        </context-param>
     
        <context-param>
            <param-name>org.apache.myfaces.DETECT_JAVASCRIPT</param-name>
            <param-value>false</param-value>
        </context-param>
     
        <context-param>
            <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
            <param-value>true</param-value>
            <description>
                If true, a javascript function will be rendered that is able to restore the
                former vertical scroll on every request. Convenient feature if you have pages
                with long lists and you do not want the browser page to always jump to the top
                if you trigger a link or button action that stays on the same page.
                Default: "false"
            </description>
        </context-param>
        
        
        <!--richfaces -->
        
     
         <!-- Plugging the "Blue Sky" skin into the project -->
     
    <context-param>
     
       <param-name>org.richfaces.SKIN</param-name>
     
       <param-value>blueSky</param-value>
     
    </context-param>
     
     
     
    <!-- Making the RichFaces skin spread to standard HTML controls -->
     
    <context-param>
     
          <param-name>org.richfaces.CONTROL_SKINNING</param-name>
     
          <param-value>enable</param-value>
     
    </context-param>
     
     
     
    <!-- Defining and mapping the RichFaces filter -->
     
    <filter> 
     
       <display-name>RichFaces Filter</display-name> 
     
       <filter-name>richfaces</filter-name> 
     
       <filter-class>org.ajax4jsf.Filter</filter-class> 
     
    </filter> 
     
      
     
    <filter-mapping> 
     
       <filter-name>richfaces</filter-name> 
     
       <servlet-name>Faces Servlet</servlet-name>
     
       <dispatcher>REQUEST</dispatcher>
     
       <dispatcher>FORWARD</dispatcher>
     
       <dispatcher>INCLUDE</dispatcher>
     
    </filter-mapping>
     
     
     
     <!-- -->
     
     
     
     
     <!-- Listener, that does all the startup work (configuration, init). -->
        <listener>
            <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
        </listener>
     
    <jsp-config>
    	<taglib>
    		<taglib-uri>/tags/struts-logic
    		</taglib-uri>
    		<taglib-location>/WEB-INF/c.tld</taglib-location>
    	</taglib>
    </jsp-config>
     
        <!-- Faces Servlet
             Marty Hall: changed .jsf back to standard of .faces -->
        <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>*.faces</url-pattern>
        </servlet-mapping>
     
        <!-- Welcome files -->
        <welcome-file-list>
            <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    </web-app>
    faces-config.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
    <?xml version="1.0" encoding="UTF-8"?>
     
    <faces-config
        xmlns="http://java.sun.com/xml/ns/javaee"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
        version="1.2">
    <managed-bean>
    		<managed-bean-name>myBean</managed-bean-name>
    		<managed-bean-class>Facade.MyBean</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope>
    	</managed-bean>
    	<navigation-rule>
    		<display-name>index</display-name>
    		<from-view-id>/index.jsp</from-view-id>
    		<navigation-case>
    			<from-outcome>rempli</from-outcome>
    			<to-view-id>/view.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    </faces-config>
    voici les lib que j'utilise:

    ant-antlr-1.6.3.jar
    antlr-2.7.5H3.jar
    asm.jar
    asm-attrs.jar
    bridges-myfaces-0.8.jar
    cglib-2.1.jar
    cl.jar
    commons-beanutils-1.8.0.jar
    commons-codec-1.3.jar
    commons-collections-2.1.1.jar
    commons-collections-3.2.1.jar
    commons-dbcp.jar
    commons-digester-1.8.jar
    commons-el.jar
    commons-fileupload-1.2.1.jar
    commons-io-1.4.jar
    commons-lang-2.4.jar
    commons-logging-1.0.4.jar
    commons-net-ftp-2.0.jar
    commons-pool.jar
    dom4j-1.6.jar
    ehcache-1.2.3.jar
    hibernate3.jar
    hsqldb.jar
    jsch-0.1.42.jar
    jstl-1.2.jar
    jta.jar
    jxl.jar
    log4j-1.2.9.jar
    myfaces-api-1.1.4.jar
    myfaces-impl-1.1.4.jar
    openhrc.jar
    richfaces-api-3.1.4.GA.jar
    richfaces-api-3.2.0.SR1.jar
    richfaces-impl-3.1.4.GA.jar
    richfaces-ui-3.1.4.GA.jar
    spring.jar
    tomahawk-1.1.3.jar
    tomahawk-1.1.5.jar
    xalan.jar
    xerces-2.6.2.jar
    xml-apis.jar

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    bonjour,

    1- pas de questions par MP, utilise le forum en essayant d 'être le plus claire et le plus concis possible.

    2- Tu ne dis pas ce qui ne marche pas, une exception, une erreur ...

    3- Vérifie bien que ta liste est bien créée.

    4 - change l'url des tags JSTL en :


  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 5
    Points
    5
    Par défaut tab vide
    bonjour c'est ca le probleme je n'ai aucune exception ni erreur sauf quand j'execute la page les tabs s'affiche mais elles sont vide

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par anouar10 Voir le message
    bonjour c'est ca le probleme je n'ai aucune exception ni erreur sauf quand j'execute la page les tabs s'affiche mais elles sont vide
    change l'url des tags libs JSTL et vérifie que la liste n'est pas vide.

  7. #7
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 5
    Points
    5
    Par défaut re
    j'ai changé le tag du jstl et j'ai fait un test system.out.println la liste n'est pas vide quand je click sur les onglets le contenu de la liste s'affiche dans la console

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    ça marche alors si tu as les onglets, il faut mettre le contenu:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <rich:tab label="#{client.nom}">
     <h:outputText value="#{client.nom}" />
    </rich:tab>

  9. #9
    Futur Membre du Club
    Inscrit en
    Février 2010
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 17
    Points : 5
    Points
    5
    Par défaut tab
    c'est toujours le même résultat il y a les onglet mais il sont vide

  10. #10
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Points : 5 059
    Points
    5 059
    Par défaut
    Si le le label des onglets s'affiche, le contenu doit s'afficher, c'est la même valeur..
    cherche un peu ce qui coince dans ton code, ce n'est pas un compliqué comme problème..

    et ajoute le switchType="ajax"..

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/05/2010, 19h06
  2. Réponses: 2
    Dernier message: 13/10/2008, 16h07
  3. Réponses: 9
    Dernier message: 07/08/2007, 14h36
  4. [AJAX] lier deux listes déroulantes alimenté par une base de données (Mysql)
    Par arnaudperfect dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 23/04/2007, 01h06
  5. Réponses: 1
    Dernier message: 20/03/2007, 09h24

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