Envoyé par
Rei Ichido
En relisant ton post initial, je pense que j'ai peut-être mal compris ta demande.
Si je comprend bien, tu charges dans ta page un arbre complet, dans lequel tu peux naviguer uniquement par javascript ; et c'est seulement quand tu cliques sur une vraie feuille de l'arbre que tu dois passer par une action ?
Ce que j'avais compris au début c'était que chaque ouverture d'un noeud (la dernière branche à l'instant t) nécessitait de repasser par une action (un arbre lazy, quoi).
Si c'est bien le cas, et donc que tu ne peux pas (sauf appel ajax, mais bon ça serait moyen pour si peu) connaitre l'état de l'arbre a priori, il va bien falloir que tu envoies dans ta request l'état de l'arbre. Donc il te faut modifier tes méthodes show et hide appliquées à tes noeuds pour qu'en plus elles mettent à jour la liste des noeuds dépliés. Liste que tu t'envoies avec la request, et que tu utilises à l'initialisation, et là tu as le choix :
- le refaire par javascript, itérativement (facile, mais à mon avis pas glop)
- comme je te le disais, le faire dans la jsp.
Sur le "comment afficher autrement qu'avec du javascript" ?
=> Dans ta jsp, tu set directement la valeur du style de ta div selon la valeur du noeud de ton arbre (déplié / fermé).