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 :

richface tree menu et lien


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2008
    Messages : 23
    Par défaut richface tree menu et lien
    Slt à tous,
    j'ai un tree menu qui marche très bien,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <rich:tree 
    				style="width:300px" 
    				rendred="true"
    				nodeSelectListener="#{menu1.processSelection}" 
    				reRender="selectedNode" 
    				switchType="client" 
    				value="#{menu1.treeNode}" 
    				ajaxKeys="#{null}"
    				ajaxSubmitSelection="true"
    			>
    Mais à présent je veux insérer un lien à chaque leaf du tree (on cliquant dessus, je suis renvoyée vers une autre page)

    y-a-t-il quelqu'un qui peux m'aider??
    une autre question: ca serre à quoi l'attribut 'nodeFace'???

    Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Février 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2008
    Messages : 23
    Par défaut
    j'ai fait quelques modifications mais ça ne marche pas toujours,
    Voila le nouveau code:
    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
    <rich:tree 
    				style="width:300px" 
    				rendred="true"
    				nodeSelectListener="#{menu1.processSelection}" 
    				reRender="selectedNode" 
    				switchType="client" 
    				var="item"
    				value="#{menu1.treeNode}" 
    				ajaxKeys="#{null}"
    				ajaxSubmitSelection="true"
    				treeNodeVar="treeNode"
    				nodeFace="#{treeNode.parent.parent == null ? 'node' : 'leaf'}">
     
    				<rich:treeNode type="node"> 
                       <h:outputText value="#{item}"/>
                    </rich:treeNode>
    				<rich:treeNode type="leaf" > 
                        <s:link id="link1" value="http://localhost:8089/Sigpn/AireProtegee.seam">
      						<f:param name="aireProtegeeId" value="2" />
      						<h:outputText rendered="true" value="#{item}"  />
    					</s:link>
                    </rich:treeNode>
    			</rich:tree>

    quelqu'un peux m'aider, svp???

  3. #3
    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 que le lien te renvoie sur une nouvelle page jsf? ou ouvrir une nouvelle fenêtre du navigateur?

    pour la première question, passer par la navigation JSF avec action ou actionListener doit marcher;
    pour la deuxième, il faut utiliser l'attribut target="_blank": si je ne m'abuses .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a4j:commandLink action="xx" value="yy"  target="_blank"/>

  4. #4
    Membre averti
    Inscrit en
    Février 2008
    Messages
    23
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Février 2008
    Messages : 23
    Par défaut
    Merci pour ta réponse,
    en fait je vous que le lien m'envoie sur nouvelle page jsf
    et après quelques autres petites modifications, voila ou j'en suis, mais il me reste une petit problème:
    mon m'affiche les noms des parcs à partir de ma base, et je voudrais, lorsque je clic sur l'un des parcs, avoir le code du parc pour l'envoyer en paramètre vers la nouvelle page jsf,
    *voila le code de mon tree menu:
    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
    <rich:tree 
    				style="width:300px" 
    				rendred="true"
    				switchType="client" 
    				var="item"
    				value="#{menu1.treeNode}" 
    				treeNodeVar="treeNode"
    				nodeFace="#{treeNode.parent.parent.parent.parent.parent == null ? 'leaf' : 'node'}"
    				reRender="selectedNode" 
    				ajaxKeys="#{null}"
    				ajaxSubmitSelection="true">
     
    				<rich:treeNode type="node" > 
                       <h:outputText value="node #{item}"/>
                    </rich:treeNode>
     
    				<rich:treeNode type="leaf" 
    							   nodeSelectListener="#{menu1.processSelection}" > 
     
                        <s:link view="/Parc.xhtml" 
                       			value="leaf #{item}" 
                         		id="parc">
                    		<f:param name="parcId" 
                            		value="#{menu1.nodeTitle}"/>
                		</s:link>
     
                    </rich:treeNode>
     
    			</rich:tree>
    et voila le code de ma classe 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
    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
     
     
    @Name("menu1")
    	public class Menu1 {
     
    		TreeNode root = null;
    		@In
    		EntityManager entityManager;
    		private String nodeTitle;
    		private List<String> selectedNodeChildren = new ArrayList<String>();
     
    		public Menu1() {
    			// TODO Auto-generated constructor stub
    		}
     
    		TreeNode root = new TreeNodeImpl();
     
    		public TreeNode getTreeNode() {
     
    			Integer count = 1;
    			root = new TreeNodeImpl();
    			TreeNodeImpl nodeImplAP = new TreeNodeImpl();
    			System.out.println("setData");
     
    			root.addChild(count, loadTreeP());
    			return root;
    		}
     
    		private TreeNode loadTreeP() {
    			FacesContext facesContext = FacesContext.getCurrentInstance();
    			ExternalContext externalContext = facesContext.getExternalContext();
    			TreeNode rootNode = null;
     
    			Integer counter = 1;
    			List<Parc> parc = entityManager.createQuery("from Parc")
    					.getResultList();
    			rootNode = new TreeNodeImpl();
    			Iterator iter = parc.iterator();
    			Parc p;
    			TreeNodeImpl nodeImpl = new TreeNodeImpl();
     
    			while (iter.hasNext()) {
    				p = (Parc) iter.next();
    				nodeImpl = new TreeNodeImpl();
    				nodeImpl.setData(p.getAireProtegee().getNomAp());
     
    				rootNode.addChild(p.getId(), nodeImpl);
    				setNodeTitleId(p.getId());
    				counter++;
    			}
    			rootNode.setData("Parcs");
    			nodeImpl.setParent(rootNode);
    			return rootNode;
     
    		}
     
     
     
     
    		int nodeTitleId;
    		public void processSelection(NodeSelectedEvent event) {
    			HtmlTree tree = (HtmlTree) event.getComponent();
    			nodeTitle = (String) tree.getRowData();
    			selectedNodeChildren.clear();
    			TreeNode currentNode = tree.getTreeNode();
    			nodeTitle = currentNode.getData().toString();
    			if (currentNode.isLeaf()) {
    				selectedNodeChildren.add((String) currentNode.getData());
    			} else {
    				Iterator<Map.Entry<Object, TreeNode>> it = currentNode
    						.getChildren();
    				while (it != null && it.hasNext()) {
    					Map.Entry<Object, TreeNode> entry = it.next();
    					selectedNodeChildren.add(entry.getValue().getData().toString());
    				}
    			}
    			if (nodeTitle != null) {
    				Parc ap = (Parc) entityManager.createQuery(
    						"from parc where nomAp= :nomAp").setParameter(
    						"nomAp", nodeTitle).getSingleResult();
    				nodeTitleId= ap.getId();
     
    			}
     
    		}
     
     
    		public int getNodeTitleId() {
    			return nodeTitleId;
    		}
     
    		public void setNodeTitleId(int nodeTitleId) {
    			this.nodeTitleId = nodeTitleId;
    		}
     
    	}
    une idée??

  5. #5
    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
    f:param ne fonctionne pas alors?
    sinon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <s:link view="/Parc.xhtml" 
                       			value="leaf #{item}" 
                         		id="parc">
    <a4j:support event="onclick">
    <a4j:actionparam name="parc" value="#{menu1.nodeTitle}" assignTo="#{bean.selectedNodeTitle}"/>
    </a4j:support>
    </s:link>
    et si ça ne passe pas; utilise a4j:commandLink à la place de s:link..

Discussions similaires

  1. RichFaces Tree menu et remplissage d'un h:dataTable
    Par riadhhwajdii dans le forum JSF
    Réponses: 0
    Dernier message: 23/06/2009, 13h23
  2. RichFaces Tree menu
    Par riadhhwajdii dans le forum JSF
    Réponses: 0
    Dernier message: 15/06/2009, 18h09
  3. problème avec richfaces tree menu et seam
    Par soussou126 dans le forum Seam
    Réponses: 1
    Dernier message: 25/01/2009, 10h18
  4. Réponses: 8
    Dernier message: 19/01/2006, 10h57
  5. [html+css] problème menu avec liens display:block
    Par Cypselos dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 28/08/2005, 09h39

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