[RichFaces]Menu, Navigation, Rafraîssement
hello,
J'essaye de faire une page template, articulée comme un site classique : header, menu a gauche et contenu qui change à droite.
mon menu est placé dans ma page template. Il fonctionne avec RichFaces :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<r:panelMenu
style="width:200px" mode="ajax" iconExpandedGroup="disc"
iconCollapsedGroup="disc" iconExpandedTopGroup="chevronUp"
iconGroupTopPosition="right" iconCollapsedTopGroup="chevronDown">
<r:panelMenuGroup label="Pages">
<r:panelMenuGroup label="1">
<r:panelMenuItem label="1" action="page1">
<f:param name="current" value="1" />
</r:panelMenuItem>
<r:panelMenuItem label="2" action="page2">
<f:param name="current" value="2" />
</r:panelMenuItem>
........
.... |
J'ai tout d'abord pensé faire un template général, et l'inclure au début de chaque page du site, avec :
Code:
1 2
|
<%@ include file="../template/template.jsp"%> |
Et pour la navigation, j'utilisais les navigation-rules de faces-config.
Ca marche bien, excepté que : c'est très long au chargement de chaque page, et il me rafraichit tout à chaque fois, y compris mon menu :( (ce qui est facheux, mais logique il me semble).
J'ai donc cherché une autre solution : Faire un template qui contient lui même un include, modifiable et rafraichissable en focntion du choix via le menu. Je me suis appuyé notemment sur d'autres post
J'ai du opter pour le tag
car l'autre ne peux pas interpréter le #{bean}.
Mais je ne m'en sors pas. Au final, je ne sais plus quoi essayer.
Voila pour l'instant ou j'en suis :
J'ai un beanTemplate tout bête :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
public class TemplateManager{
private String pageURL;
public TemplateBean(){
this.pageURL = "../contenu/pageDepart.jsp";
}
public String getPageURL() {
return pageURL;
}
public void setPageURL(String pageURL) {
this.pageURL = pageURL;
}
public void pageURL1() {
this.pageURL="../contenu/MaPage1.jsp";
}
} |
Et un voila mon menu et la partie à rafraîchir :
Code:
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
|
.......
...........
<r:panelMenu
style="width:200px" mode="ajax" iconExpandedGroup="disc"
iconCollapsedGroup="disc" iconExpandedTopGroup="chevronUp"
iconGroupTopPosition="right" iconCollapsedTopGroup="chevronDown">
<r:panelMenuGroup label="Pages">
<r:panelMenuGroup label="MesPages">
<r:panelMenuItem label="MaPage1" action="#{TemplateManager.pageURL1}">
<f:param name="current" value="1" />
</r:panelMenuItem>
.............
.......
......
............
<div >
<a4j:region id="contenuRegion">
<jsp:include page="#{TemplateBean.pageURL}"/>
</a4j:region>
<div>
...........
..... |
Tel quel, pour l'instant, ca ne me fait pas d'erreur. Au lancement du template, j'ai bien ma "pageDepart". Mais ca marche pas non plus, ca me rend une page blanche si je clique dans le menu pour accéder à la MaPage1...
je sais que c'est un sujet de discussion redondant, mais je ne trouve pas vraiment de technique proposée et qui marche bien... Auriez vous des conseils, des idées, des reproches ?
merci d'avance