2010-02-25 5 views
1

J'ai la démo RichFaces panelMenu source verbatim dans une page index.jsp. Comme la démonstration ne fournit aucun support code de haricot pour soutenir cette source, je crée ces méthodes en panelMenu.java:RichFaces riche: panelMenu de la démo RF provoque une erreur

public void updateCurrent(String n) { 
    logger.info("updateCurrent called with " + n); 
    setCurrent(n); 
} 

public String getCurrent() { 
    return current; 
} 

public void setCurrent(String c) { 
    current = c; 
} 

Quand je cours ceci, la navigation dans le menu est très bien, mais la sélection d'un élément de sortie, l'élément sélectionné texte dans une zone à droite du menu provoque une erreur:

WARNING: Error calling action method of component with id form:j_id_jsp_920730595_6 
javax.faces.FacesException: Error calling action method of component with id form:j_id_jsp_920730595_6 
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72) 

...

Caused by: javax.faces.el.MethodNotFoundException: org.apache.jasper.el.JspMethodNotFoundException: /index.jsp(27,12) '#{panelMenu.updateCurrent}' Method not found: [email protected]() 
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:92) 
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57) 
    ... 28 more 

quelqu'un peut-il me dire pourquoi? (Tomcat 6, RichFaces 3.3.2 SR1)

Répondre

2

Votre méthode ne doit contenir aucun argument. Il devrait ressembler à ceci (copié à partir des sources d'applications de démonstration):

public String updateCurrent() { 
    FacesContext context = FacesContext.getCurrentInstance(); 
    setCurrent((String) context.getExternalContext() 
     .getRequestParameterMap().get("current")); 
    return null; 
} 

<f:param> n'ajoute pas les arguments de la méthode. Il ajoute des paramètres de requête.

Les sources peuvent être exportée à partir http://anonsvn.jboss.org/repos/richfaces/tags/3.3.1.GA/samples/richfaces-demo

+0

Lewis @ Mark consulter ma mise à jour – Bozho

+0

@Bozho - pouvez-vous me donner un lien exact de cette source? La méthode setCurrent doit également être copiée. – volvox

+0

@Bozho, je ne comprends pas la partie de votre réponse qui se réfère à 'f: param'. Comment est-ce pertinent? – volvox

Questions connexes