J'ai un problème non résoluble, ou du moins avec mes connaissances limitées sur jsf. Je sais qu'il y a de bonnes solutions à trouver sur stackoverflow, mais je n'arrive pas à comprendre mon erreur. Je veux juste avoir quelques commandlinks comme une barre de navigation et ils devraient changer le contenu d'une balise div pré-définie qui a une clause include. Donc je suppose que mon index pourrait être réinterprété comme une sorte de modèle.jsf navigation y compris les pages de contenu via ajax
mon index:
<h:panelGroup id="navigation" layout="block">
<h:form>
<h:panelGrid columns="4" columnClasses="colDefault,colDefault,colDefault,colDefault">
<f:ajax render=":include">
<h:commandLink value="entry1" action="#{menuController.setPage('login')}" />
<h:commandLink value="entry2" action="#{menuController.setPage('register')}" />
<h:commandLink value="entry3" action="#{menuController.setPage('welcome')}" />
</f:ajax>
</h:panelGrid>
</h:form>
</h:panelGroup>
<h:panelGroup id="center_content" layout="block" class="center_content" >
<h:panelGroup id="include">
<ui:include src="#{menuController.page}.xhtml" />
</h:panelGroup>
</h:panelGroup>
son comme dans ce poste de BalusC avec un petit et assez simple haricot:
@ManagedBean
public class MenuController implements Serializable{
private String page;
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
}
mais je suis un TagAttributeException @
/index.xhtml @17,92 action="#{menuController.setPage('login')}" Could not Resolve Variable [Overflow]: menuController
J'ai essayé, mais je n'ai aucune idée quoi faire.
'# {menuController.setPage ('login') } 'ceci n'est visible nulle part dans votre code posté. Avez-vous manqué du code? – noone
édité, oui, j'ai copié une version de test – Highstorm
Exécutez-vous Servlet 3.0/EL 2.2? –