Bonjour,
Alors voila, j'ai créer 2 composants perso: LangMenu et Menu.
LangMenu sert a changer la langue de l'application, et Menu evidement c'est le menu!!
Alors voila, petit problème: Lorsque je change la langue, ma page change bien de langue mais pas mon menu ! j'ai l'impression que la page ne se recharge pas completement!
Pourtant mon composant menu fonctionne niquel, mais lui change de page chaque fois que je clique sur un lien, dc elle se recharge forcement !
Tandis que le langMenu lui ne change pas de page, il doit en fait la recharger (totalement pr bien faire).
Voici le decode de mon langMenu:
Le getValueOfElExpMethod(String) en fait donne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public void decode(FacesContext facesContext) { String clientId = this.getClientId(facesContext); Map parametersMap = facesContext.getExternalContext().getRequestParameterMap(); Object val = parametersMap.get(clientId); if (val != null) { Boolean cmd = Boolean.parseBoolean(val.toString()); if (cmd) { this.action = (String) this.getAttributes().get("action"); String redirect = (String) FacesUtil.getValueOfElExpMethod(this.action); facesContext.getApplication().getNavigationHandler().handleNavigation(facesContext, this.action, redirect); } } }
Y aurait-il qqch a faire lorsque qu'il n'y a pas de redirection ? (c-a-d qu'on reste sur la meme page?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public static Object getValueOfElExpMethod(String inString) { if (inString == null) { return null; } if ((inString.indexOf("#{") == 0) && (inString.endsWith("}") && (inString != null))) { FacesContext facesContext = FacesContext.getCurrentInstance(); return facesContext.getApplication().createMethodBinding(inString, null).invoke(facesContext, null); } return inString; }
Merci d'avance![]()
Partager