Томагавк JSCookMenu не запускает никаких действий после обновления до JSF2 - PullRequest
1 голос
/ 27 января 2012

Я только что перенес какое-то веб-приложение среднего размера с JSF 1.2 / MyFaces на JSF 2.0 / Mojarra.Помимо некоторых пользовательских компонентов, которые я реализовал, кажется, что все работает, за исключением JSCookMenu от Tomahawk (да, у меня есть Tomahawk, который является библиотекой от Apache, и все еще хочу использовать Mojarra - но я понял, что не должно бытьлюбая большая проблема).Я заменил myfaces-api.jar и myfaces-impl.jar соответствующими jsf-api.jar и jsf-impl.jar и вынул из web.xml столько параметров и фильтров MyFaces, сколько возможно (некоторые из них были необходимы дляостаются, потому что я все еще использую Томагавк).Я также обновил Tomahawk до 1.1.11 для JSF2.

JSCookMenu приложения рендерится просто отлично, но не вызывает никаких действий при нажатии на пункты меню.У меня есть некоторые t: navigationMenuItem, атрибут действия которых связан с результатом вface-config.xml, который должен загрузить новый идентификатор представления, и еще некоторые t: navigationMenuItem, атрибут actionListener которого связан с методом bean (пункт меню «Выход», дляпример).Ни один из них не работает, код actionListener из моего компонента даже не вызывается.

Я даже не уверен, как это исследовать, кто-нибудь имел представление о том, как это можно решить?Я надеюсь, что что-то в web.xml может помочь.

Навигационные примеры правильно написаны в face-config.xml, они работали на JSF 1.2 / MyFaces, а также на JSF 2 / MyFacesдо перехода в Мохарру.

Это соответствующая часть моего файла web.xml:

<servlet>
    <servlet-name>faces</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>faces</servlet-name>
    <url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<context-param>
    <param-name>com.sun.faces.allowTextChildren</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.FACELETS_RESOURCE_RESOLVER</param-name>
    <param-value>com.avalanche.jsf.MyResourceResolver</param-value>
</context-param>
<context-param>
    <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    <param-value>client</param-value>
</context-param>
<context-param>
    <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>facelets.DEVELOPMENT</param-name>
    <param-value>true</param-value>
</context-param>
<context-param>
    <param-name>facelets.RECREATE_VALUE_EXPRESSION_ON_BUILD_BEFORE_RESTORE</param-name>
    <param-value>false</param-value>
</context-param>

<filter>
    <filter-name>facesExtensionsFilter</filter-name>
    <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
    <init-param>
        <param-name>uploadMaxFileSize</param-name>
        <param-value>1g</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>facesExtensionsFilter</filter-name>
    <servlet-name>faces</servlet-name>
</filter-mapping>
<filter-mapping>
    <filter-name>facesExtensionsFilter</filter-name>
    <url-pattern>/faces/myFacesExtensionResource/*</url-pattern>
</filter-mapping>
...