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 :

[Iteration][Richfaces]Boucler pour créer des composants


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut [Iteration][Richfaces]Boucler pour créer des composants
    Bonjour,

    Je souhaite pouvoir afficher des composants SimpleTogglePanel de RichFaces à partir du contenu d'une liste.
    Pour boucler sur cette liste, j'utilise <ui:repeat> :
    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
     
    <ui:repeat value="#{listAdr}" var="adr">
    <rich:simpleTogglePanel id="stpAdr" switchType="client" opened="false" label="#{i18n[adr.categorie]} : #{adr.libelle}" headerClass="#{cyrusRef.styleForCMO[adr.modified]}">
    	...
     
    	<rich:dropDownMenu id="actionBtnId" rendered="#{actionBtnRendered}" direction="top-right" value="#{i18n.btn_actions}" styleClass="btnAction">
    	   	<rich:menuItem value="#{i18n.btn_supprimer}" rendered="#{supprBtnRendered}" action="#{cyrusRef.deleteAdresse}" id="delBtnId">
    	   		<f:param name="adresseId" value="#{adr.id}"/>
    	   		<f:param name="beanToModAdresse" value="#{beanModAdresse}"/>
    	   	</rich:menuItem>
    	   	<rich:menuItem value="#{i18n.btn_modifier}" action="#{cyrusRef.modifierAdr}" id="modifBtnId">
    	   		<f:param name="adresseId" value="#{adr.id}"/>
    	   	</rich:menuItem>
    	   	<rich:menuItem value="#{i18n.btn_copieAdresse}" action="#{cyrusRef.remplacerAdr}" id="remplBtnId">
    	   		<f:param name="adresseId" value="#{adr.id}"/>
    	   	</rich:menuItem>	   	
    	</rich:dropDownMenu>
     
    </rich:simpleTogglePanel>
    </ui:repeat>
    Par défaut, tous les panels sont pliés.
    Le problème rencontré est le suivant : lorsque je déplie un panel et que j'appelle une fonction d'un ManagedBean, rien ne se passe sauf si c'est le dernier. Dans ce cas, la page se réaffiche avec la totalité des panel dépliés, mais sans que la fonction n'ait été appelée.
    Je suppose que le problème est lié à l'itération et que l'ensemble des panels ne doit être perçu que pour un seul panel. Existe-t-il une solution pour corriger le pb ?

    Merci d'avance pour votre aide !

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    ton probleme je pense est que ui:repeat fait le rendu du composant plusieurs fois, tout simplement, il ne le crée pas plusieurs fois ni ne gère plusieurs états. Tu devrais peut etre voir à utiliser la taglib t:datalist qui fonctionne un peu comme dataTable (utilise plusieurs fois le composant en gérant les états successifs).

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    Si je ne me trompe pas, l'utilisation de cette librairie m'oblige à intégrer MyFaces , ce que je ne souhaite pas. Existe-t-il une autre solution ?

  4. #4
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    J'ai remplacé ui:repeat par c:forEach.
    Les differents panel semblent tous bien etre rendus et crees, mais les actions ne fonctionnent pas au premier essai : apparemment il faut que le TogglePanel soit déplié pour que l'action soit bien exécutée...

  5. #5
    Membre éprouvé
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Par défaut
    Il fallait simplement changer le switchType pour qu'il soit en mode ajax et non client.

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Citation Envoyé par la7su Voir le message
    Si je ne me trompe pas, l'utilisation de cette librairie m'oblige à intégrer MyFaces , ce que je ne souhaite pas. Existe-t-il une autre solution ?
    Tomahawk est indépendant de myfaces-core, tu peux l'utiliser avec l'implémentation jsf de sun ou de tout autre vendeur

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

Discussions similaires

  1. Créer des composants JavaFX pour du Swing
    Par narmataru dans le forum JavaFX
    Réponses: 2
    Dernier message: 13/12/2011, 17h05
  2. [Joomla!] Créer des composants et plugins
    Par 9277463 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 27/08/2009, 07h21
  3. Composant pour créer des fleches
    Par rjuju dans le forum Composants VCL
    Réponses: 3
    Dernier message: 20/06/2008, 11h23
  4. [CR] Version nécessaire pour créer des fichiers DSR ?
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 17/11/2003, 09h01
  5. quel langage pour créer des "applications" sur 1 s
    Par jaribu dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 30/07/2003, 14h06

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