5

我正在使用 MyFaces 2.1.9 和 PrimeFaces 3.5。我已经为<p:inputText>. 这适用于 Tomcat。但这不适用于 Websphere。我在自定义渲染器类中放置了断点,但它们从未被命中。我的日志中也没有看到任何内容。但是,当我在标准 JSF 上注册相同的自定义渲染器时<h:inputText>,它可以正常工作。

我已将其注册如下faces-config.xml

<render-kit>
    <renderer>
        <component-family>org.primefaces.component</component-family>
        <renderer-type>org.primefaces.component.InputTextRenderer</renderer-type>
        <renderer-class>xxx.xxx.xxx.MyInputRenderer</renderer-class>
    </renderer>
</render-kit>

如何解决自定义渲染器的注册问题?

4

1 回答 1

8

需要覆盖 3rd 方组件库的渲染器的自定义渲染器需要在 webapp 自己的中注册faces-config.xml,而不是在faces-config.xml打包在另一个 JAR 中的 a 中/WEB-INF/lib。JAR 文件的加载顺序未指定,因此可能会在您想要覆盖的第 3 方组件库之一之前加载和注册自定义渲染器,就像您所面对的那样。

于 2013-04-13T16:21:36.323 回答