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 :

[Richfaces] composant TREE


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut [Richfaces] composant TREE
    J'ai cherché sur internet mais je n'ai pas trouvé quels sont les différents objets qu'on peut attribuer au composant TREE ? et merci.

  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
    Par défaut
    tu peux préciser quel librairie JSF.

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    il y a une différence?
    moi j'utilise richfaces et woodstock

  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
    Par défaut
    Citation Envoyé par wajdopovitch Voir le message
    il y a une différence?
    moi j'utilise richfaces et webuijsf
    ouii bien sur, chaque librairie a ses propres composants, mes composants standards sont les composants html et core.

    pour le Tree de Richfaces l'interfcae utilisé est org.richfaces.model.TreeNode, tu peux l''implémenter ou utiliser un listener.
    la démo de Richfaces donne un exemple pour chaque utilisation.

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    je ne parle pas du binding je veut savoir si on peut utiliser par exemple une liste comme dans les tableaux et quelle est sa structure?
    j'ai vu la démo mais il n'y a pas le code java afin de mieux comprendre son utilisation

  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
    Par défaut
    Citation Envoyé par wajdopovitch Voir le message
    je ne parle pas du binding je veut savoir si on peut utiliser par exemple une liste comme dans les tableaux et quelle est sa structure?
    j'ai vu la démo mais il n'y a pas le code java afin de mieux comprendre son utilisation
    Ce n'est pas le binding, c'est le type d'objet de la liste, regarde les exemples de la démo.
    le ocmposant prend en value un objet de type org.richfaces.model.TreeNode.

    pour initialiser l'objet tu peux soit utiliser le listener, soit utiliser un objet qui implémente l'interface et redéfinir des méthodes.

  7. #7
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    il y a aussi aussi un exemple ici : tree-component
    ce que je veut c de construire un tree dynamique selon l'utilisateur de l'application ,son fonctionnement est la navigation entre les pages JSF

  8. #8
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    le code dans ma page jsf est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <a4j:form>
                            <rich:tree value="#{ExTree.tree}" var="item">
                                <rich:treeNode>
                                    <h:outputText value="item.code"/>
                                </rich:treeNode>
                            </rich:tree>
                        </a4j:form>
    Le code JAVA :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import org.richfaces.model.TreeNodeImpl;
    import java.util.List;
     
    TreeNodeImpl articletree = new TreeNodeImpl();
     
    articletree.addChild(new Article("PENTIUM 4", 100 , 145), articletree);
    articletree.addChild(new Article("PENTIUM 5", 300 , 155), articletree);
     
    public List gettree() {
            List<Article> lart =(List<Article>) articletree;
            return lart;
        }
    j'ai l'erreur suivante !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Exception Details:  java.lang.ClassCastException
      org.richfaces.model.TreeNodeImpl cannot be cast to java.util.List
    je ne sais pas comment je vais faire
    es c que qlq'1 a une idé???

  9. #9
    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
    Par défaut
    value ne prend pas une liste mais un object de type TreeNode.

    - il faut ajouter nodeSelectListener, un exemple de code est dans la démo il me semble.

    - dans le getter de treeNode tu remplis la tree, tu ajoute les fils lorsque elle est vide.

  10. #10
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    j'ai essayé d'ajouter des liens :
    j'ai uune classe MItems qui a pour attribut :
    Integer id;
    String libelle ;
    String target;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    TreeNode rootNode = new TreeNodeImpl() ;
     
     for (int i = 0; i < listmenu.size(); i++) {
                TreeNodeImpl nodeImpl = new TreeNodeImpl();
     
                nodeImpl.setData(listmenu.get(i).getLibelle());
     
                rootNode.addChild(listmenu.get(i).getId(), nodeImpl);
     
            }
    code JSF :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <a4j:form>
                            <rich:tree  rendered="true" var="item" value="#{ExTree.treeNode}" switchType="client" >
                                <rich:treeNode  type="node">
                                        <h:outputLink value="#{item.target}">
                                            <h:outputText value="#{item.target}" />
                                        </h:outputLink>
                                </rich:treeNode>                            
                            </rich:tree>
                        </a4j:form>
    mais le résultat c que les liens ne marche pas
    je n'ai pas trouvé le bon chemin pour construire un tree composé des liens

  11. #11
    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
    Par défaut
    tu veux dire quoi par le lien ne marche pas??
    le Tree s'affiche comme il faut et le lien ne marche pas ?? ou il n'est pas généré ?

  12. #12
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    Citation Envoyé par Sniper37 Voir le message
    tu veux dire quoi par le lien ne marche pas??
    le Tree s'affiche comme il faut et le lien ne marche pas ?? ou il n'est pas généré ?
    je veut dire qu'il n'est pas généré
    comme si ce bloc n'existe pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <rich:treeNode  type="node">
                                        <h:outputLink value="#{item.target}">
                                            <h:outputText value="#{item.target}" />
                                        </h:outputLink>
                                </rich:treeNode>

  13. #13
    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
    Par défaut
    Essaye qq chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <rich:tree style="width:300px" nodeSelectListener="#{bean.processSelection}" 
                   switchType="client"
                    value="#{bean.treeNode}" var="item" >
    </rich:tree>

  14. #14
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    LeTree s'affiche bien
    le problème c que le processSelection ne s'exécute pas même avec un simple System.out.println
    Remarque: si j'enlève le bloc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <rich:treeNode  type="leaf">
            <h:outputLink value="retretr">
                <h:outputText value="#{item}"></h:outputText>
            </h:outputLink>
        </rich:treeNode>
    ca ne change rien L'etat du tree est la même
    je précise que je veut que les feuilles du tree me raméneront à d'autre page JSF et merci encore

  15. #15
    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
    Par défaut
    utilise ajaxSubmitSelection="true".
    ou ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:support event="onselected" />

  16. #16
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    Merci encore Sniper37 ,
    avec l'option ajaxSubmitSelection="true" la méthode processSelection(NodeSelectedEvent event) est exécuté
    maintenant il reste à trouvé la méthode pour passer l'attribut String target vers h:outputLink pour aller à d'autres pages JSF ??

    je pense à partir de la méthode processSelection on peut identifier l'élément sélectionné puis d'ouvrir la nouvelle page à l'aide de la navigation JSF (ça c pour ouvrir une nouvelle page JSF )
    si non si je veut ouvrir une nouvelle fenêtre du navigateur comment je vais atribuer l'@ de la nouvelle fenêtre à l'élement sélectionné
    déja la classe que j'ai crée MItems contient les deux éléments :
    String libelle ;
    String target;

  17. #17
    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
    Par défaut
    c'est l'equivalent de nodeTitle dans la démo, ajoute le avec getter/setter et dans le processSelection tu lui donne la valeur de getRowData().

    dans la page tu peux tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <h:outputText  value="Selected Node: #{bean.nodeTitle}" id="selectedNode" />

Discussions similaires

  1. Réponses: 0
    Dernier message: 20/04/2010, 19h25
  2. richfaces: composant tree
    Par monalisa_smile dans le forum JSF
    Réponses: 3
    Dernier message: 14/05/2009, 16h17
  3. Problème avec composant Tree
    Par jekif dans le forum Flash
    Réponses: 3
    Dernier message: 17/11/2006, 15h44
  4. Modification du composant tree
    Par billoum dans le forum Flash
    Réponses: 3
    Dernier message: 11/10/2006, 12h14
  5. Je recherche un composant Tree non visuel, structure mémoire
    Par bambino3996 dans le forum Composants VCL
    Réponses: 5
    Dernier message: 05/09/2005, 17h03

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