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

Struts 1 Java Discussion :

[Struts-Layout 1.3] treeview qui ne s'ouvrent pas à partir du 4 ème noeud


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut [Struts-Layout 1.3] treeview qui ne s'ouvrent pas à partir du 4 ème noeud
    Hello les gens;
    Je me suis inspiré de l'exemple du treeview ici
    Mais j'ai quelque soucis...
    D'une part j'ai des problèmes d'affichages:
    Sur internet explorer 8:

    Sur Firefox:

    1- Vous aurez remarqué qu'un nœud, après avoir été ouvert puis refermé garde l'image "treeNodeOpen.gif"
    2- L'affichage des des "treeLigne" n'est pas parfait ( le résultat l'es un peu moins sur Firefox)
    3- Et c'est le plus important les nœuds crées "dynamiquement" (je explique plus tard comment) ne s'ouvrent pas du tout (ne contiennent rien ?) à partir du 4 ème je me doute qu'il doit y avoir une erreur au niveau de ma logique qui est la suivante (très inspirée cependant de l'exemple):

    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
    public class TreeviewComAction extends DispatchAction {
     
    	private static List periodes;
     
    	static {
    		initPeriodes();
    	}
     
    	private static void initPeriodes() {
    		periodes = new ArrayList();
    		Calendar calendar = GregorianCalendar.getInstance();
    		int actualYear = calendar.get(Calendar.YEAR);
     
     
    		for (int i = 0;
    			i < 10;
    			i++) {
    			actualYear -= 1;
    			// douze mois dans l'année jusqu'a preuve du contraire
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_JANUARY,
    					actualYear));
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_FEBRUARY,
    					actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_MARCH, actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_APRIL, actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_MAY, actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_JUNE, actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_JULY, actualYear));
    			periodes.add(
    				new PeriodeBean(ConstantsFacturation.MONTH_AUGUST, actualYear));
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_SEPTEMBER,
    					actualYear));
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_OCTOBER,
    					actualYear));
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_NOVEMBER,
    					actualYear));
    			periodes.add(
    				new PeriodeBean(
    					ConstantsFacturation.MONTH_DECEMBER,
    					actualYear));
    		}
    	}	
     
    	private void createPeriodeTree(
    		HttpServletRequest request,
    		String selectedId) {
    		Iterator it = periodes.iterator();
    		MenuComponent menuPeriodes = new MenuComponent("periodes");
    		menuPeriodes.setName("periodes");
    		while (it.hasNext()) {
    			PeriodeBean periodeBean = (PeriodeBean) it.next();
    			MenuComponent menuYear =
    				menuPeriodes.getChild(Integer.toString(periodeBean.getYear()));
    			if (menuYear == null) {
    				menuYear =
    					new MenuComponent(Integer.toString(periodeBean.getYear()));
    				menuYear.setName(Integer.toString(periodeBean.getYear()));
    				menuYear.setTitle(Integer.toString(periodeBean.getYear()));
    				menuPeriodes.addMenuComponent(menuYear);
    			}
     
    			MenuComponent menuMonth = new MenuComponent(periodeBean.getMonth());
    			menuMonth.setTitle(periodeBean.getMonth());
    			menuMonth.setLocation("comTree.aspx");
    			menuYear.addMenuComponent(menuMonth);
    		}
    		TreeViewReconciler.reconceileFromCookie(menuPeriodes, request);
    		LayoutUtils.addMenuIntoSession(request, menuPeriodes);
    	}	
     
    	public ActionForward unspecified(
    		ActionMapping mapping,
    		ActionForm form,
    		HttpServletRequest request,
    		HttpServletResponse response) {
     
    		//créer l'arbre des périodes
    		createPeriodeTree(request, null);		
     
    		return mapping.findForward(ConstantsFacturation.FORWARD_SUCCESS);
    	}
    }

  2. #2
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Pour le prb N° 3, je précise que mes nœuds (ceux qui marchent), lorsqu'ils sont pointés par le curseur de la souris affichent sur la barre d'état:
    alors que ceux qui ne s'ouvrent pas affichent (le noeud de l'année 2005 par ex):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://xxx.xxx.xxx.xxx:xxxx/MonProjetWeb/treeview.do?open=periodes*2005&bundle=org.apache.struts.action.MESSAGE&name=periodes&
    Que sur mon struts-config j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <action path="/nonAuthUser/treeview" type="fr.improve.struts.taglib.layout.treeview.TreeviewAction" validate="false"></action>

  3. #3
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Bon toujours pour mon problème N° 3 en affichant le source j'ai sur mes nœuds qui marchent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="javascript://" onclick="return changeTree('periodes*2006','/ProjetWeb/images						/treeNodeOpen.gif','/ProjetWeb/images						/treeNodeClose.gif');" target="treeFrame">
    Et sur ceux qui ne marchent pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/ProjetWeb/treeview.do?open=periodes*2005&bundle=org.apache.struts.action.MESSAGE&name=periodes&class=PANEL2" id="treeViewNodeperiodes*2005" onclick="return changeTree('periodes*2005','/ProjetWeb/images
    Pourquoi le href diffère ???

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    C'est pour différencier les nœuds déjà chargés de ceux qui sont encore à charger (question d'optimisation)
    Peux-tu montrer le struts-config.xml ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Peux-tu montrer le struts-config.xml ?
    (tu l'as sur ma deuxième réponse)
    D'ACCCCOOOOOOORD...... Mais je ne me souviens plus pourquoi j'ai rajouté le /nonAuthUser/... C'était à la suite d'une discussion avec c_nvy. Faut que je retrouve ça...

  6. #6
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Voila j'ai retrouvé la discussion.
    Donc en gros il faut maintenant rajouter quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sortutil.action=ressourceSecurise/sort.do
    sur mon Struts-Layout_default.properties pour l'action du tree, mais quoi ?

  7. #7
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Voila pour qui ça intéresserai. C'était:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # treeview action
    treeview.action = treeview.do

  8. #8
    Membre confirmé

    Inscrit en
    Juin 2005
    Messages
    1 155
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 1 155
    Points : 475
    Points
    475
    Par défaut
    Reste pour mes petits problèmes d'affichage...
    Je précise (je sais ça devient lourd, je ne fais que préciser ) que sur IE8 pour ne pas le citer l'exemple en ligne s'affiche très bien, par contre à mon grand désarroi mon code lui produit les misères sur les images.

Discussions similaires

  1. [struts-layout 1.3] TreeView
    Par jadey dans le forum Struts 1
    Réponses: 4
    Dernier message: 08/02/2010, 17h33
  2. Réponses: 20
    Dernier message: 05/03/2009, 02h46
  3. Réponses: 3
    Dernier message: 06/01/2009, 19h27
  4. [Struts-Layout] utilisation du treeview
    Par addeel2002 dans le forum Struts 1
    Réponses: 8
    Dernier message: 30/05/2007, 22h10
  5. [Struts-Layout] problème de treeview
    Par guiillaume63 dans le forum Struts 1
    Réponses: 6
    Dernier message: 16/05/2007, 11h31

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