Bonjour, est il possible de gardé l'attribut key du tag layout:tab en session ? si oui comment faire ?
Merci
Bonjour, est il possible de gardé l'attribut key du tag layout:tab en session ? si oui comment faire ?
Merci
ou plutot l'attribut selectedTabKeyName.
Merci
Salut,
D'après la doc Struts-Layout, ce n'est pas possible :
Pourquoi as-tu besoin de le mettre en session ?fr.improve.struts.taglib.layout.util.TabsUtil.setCurrentTab(selectedTabKeyName, key, request, response)
Salut, ben en fait j'ai des onglets, layout:tabs, et j'ai un arbre. Lorsque je clique sur un élément de l'arbre cela m'affiche des informations dans mes onglets. J'ai une série de plusieurs onglets, log, erreur, etc....Lorsque je clique sur un élément de mon arbre qui possède un identifient j'ai les bonnes infos correspondant au noeud qui sont affiché dans mes onglets. Le problème c'est qu'a chaque fois que je clique sur un noeud de l'arbre, c'est le premier tab qui se réaffiche a chaque fois. Je voudrais pouvoir rester sur le tab ou j'était avant d'avoir cliqué sur le noeud. Par exemple je suis sur l'onglet log, j'affiche les log correspondant à un noeud. Je voudrais voir ensuite les logs correspondant à un autre noeud, mais lorsque je clique sur le noeud je revient sur le premier tab si mes tabs sont dans cet ordre erreur, log, je reviendrai sur l'onglet erreur a chaque fois que je clique sur un noeud de l'arbre.
Tu m'as compris en gros ?![]()
Merci
Imaginons que tu aies ceci dans la jsp :
dans onglet1Action et onglet2Action, tu pourrais coder ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <layout:tabs styleClass="FORM" width="400" selectedTabKeyName="tab"> <layout:tab key="onglet1" href="onglet1Action.do?tabKey=onglet1"> <%@include file="tab1.jsp" %> </layout:tab> <layout:tab key="onglet2" href="onglet2Action.do?tabKey=onglet2"> <%@include file="tab2.jsp" %> </layout:tab> </layout:tabs>
et dans chaque Action correspondant à chaque noeud :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String tabKey= request.getParameter("tabKey") ; request.getSession().setAttribute("tabKey",tabKey) ;
Ainsi, tu te positionnes toujours sur le dernier onglet sélectionné.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 String tabKey = (String) request.getSession().getAttribute("tabKey") ; if ( tabKey != null) { TabsUtil.setCurrentTab("tab",tabKey,request,response) ; }
A tester. Je pense que ça devrait fonctionner.![]()
C'est curieux, par défaut, si tu réaffiches la même page, il se repositionne sur le dernier onglet quitté avec :
<layout:tabs .... selectedTabKeyName="groupeTab">
...
</layout:tabs>
Bien sûr, groupeTab doit être un nom unique (si tu as le même nom sur plusieurs pages, ça va poser problème...)
Sinon, la solution de c_nvy devrait fonctionner
A+
Dans ton code selectedTabKeyName ne devrait pas être tabKey aussi ?
Partager