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 :

Généricité sur une DataTable


Sujet :

JSF Java

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 30
    Par défaut Généricité sur une DataTable
    Bonjour à tous,
    J'ai un petit problème avec la généricité en jsf 2.0

    Pour expliquer mon cas, je développe une application qui permet de créer des questionnaire.
    Un questionnaire contient des composant qui peuvent être de deux sortes :
    -Une question.
    -Un commentaire (zone de texte)
    Ce que je veux faire, c'est afficher tout mes composant attachés au questionnaire avec une dataTable.
    J'ai fait :
    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
     
    <rich:dataTable value="#{editQuestionnaire.composants}" var="composant" id="composant-table" >
    	<rich:columnGroup rendered="composant.typeComposant='1">(valeur retournée par le selectOneMenu quand je choisit le type de composant)										
    		<rich:column>
    			<f:facet name="header">
    			    <h:outputText value="Titre" />
    			</f:facet>
    			<h:outputText value="#{composant.titreQuestion}" />
    		</rich:column>
    		<rich:column>
    			<f:facet name="header">
    			    <h:outputText value="Type" />
    			</f:facet>
    			<h:outputText value="#{composant.typeQuestion}" />
    		</rich:column>
    		<rich:column>
    			<f:facet name="header">
    				<h:outputText value="Parametres" />
    			</f:facet>
    			<h:outputText value="#{composant.realParameters}" />
    		</rich:column>
    		<rich:column>
    			<f:facet name="header">
    				<h:outputText value="Est Obligatoire" />
    			</f:facet>
    			<h:outputText value="#{composant.required}" />
    		</rich:column>
    	</rich:columnGroup>
    	<rich:columnGroup      rendered="#composant.typeComposant=='COMMENTAIRE'}">
    		<rich:column>
    			<f:facet name="header">
    			   <h:outputText value="commentaire" />
    			</f:facet>
    			<h:outputText value="#{composant.message}" />
    		</rich:column>
    	</rich:columnGroup>
    </rich:dataTable>
    Le souci, si je résume provient du fait que lors de l'itération, je ne sais pas encore quel type de composant est-ce, et donc je sais pas comment afficher les bonnes informations oO
    La j'utilise des composant.nom de ce que je veux mais ça ne risque pas d'appeller les getteurs de ma classe fille....

    Est-ce que quelqu'un pourrait m'aider ?

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 30
    Par défaut
    Bon alors je post pour ceux que ça pourrait intéresser si jamais ils rencontre un doute comme celui que j'ai eu.

    En JSF 2.0, le cast dans les EL est automatique (apparament).

    Donc dans mon cas, ac ma super-classe composant et ma classe-fille question, si je fait un composant.titreQuestion, ça fonctionne.

    Il ne reste plus qu'a faire joujou avec l'attribut rendered pour ne pas appeller getTitreQuestion sur ma deuxième classe fille commentaire.

    Voila, bonne continuation à tous

    Anack

  3. #3
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    En JSF, il n'y a pas de cast. Quand on lui dit "monBean.monAttribut", JSF se fiche de savoir de quel type est monBean. Il va juste chercher à exécuter getMonAttribut() dessus, et si ça marche pas, bah ça fait une erreur
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Tri sur une datatable
    Par Onig20 dans le forum VB.NET
    Réponses: 12
    Dernier message: 11/11/2009, 16h51
  2. RichFaces : problème de sortBy sur une dataTable
    Par sboussekeyt dans le forum JSF
    Réponses: 22
    Dernier message: 18/06/2009, 10h38
  3. (debutant) Deux requetes sur une datatable
    Par soiz775 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/04/2009, 09h36
  4. Réponses: 2
    Dernier message: 18/08/2008, 08h57
  5. Requete sur une datatable
    Par thierry007 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 14/06/2008, 11h28

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