RichFaces rich: panelMenu из RF демо вызывает ошибку - PullRequest
1 голос
/ 25 февраля 2010

У меня есть демонстрационная версия RichFaces panelMenu source дословно на странице index.jsp. Поскольку демонстрационная версия не предоставляет никакого кода компонента поддержки для поддержки этого источника, я создал эти методы в panelMenu.java:

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;
}

Когда я запускаю это, навигация по меню в порядке, но выбор элемента для вывода текста выбранного элемента в поле справа от меню вызывает ошибку:

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: MyClient.panelMenu@2966a5.updateCurrent()
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:92)
    at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
    ... 28 more

Может кто-нибудь сказать мне, почему? (Tomcat 6, RichFaces 3.3.2 SR1)

1 Ответ

2 голосов
/ 25 февраля 2010

Ваш метод не должен иметь никаких аргументов. Это должно выглядеть следующим образом (скопировано из источников демонстрационного приложения):

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

<f:param> не добавляет аргументы метода. Добавляет параметры запроса.

Источники могут быть извлечены из http://anonsvn.jboss.org/repos/richfaces/tags/3.3.1.GA/samples/richfaces-demo

...