PrimeFaces组件的自定义渲染器在Tomcat中工作正常,但在Websphere中没有

KTr*_*rum 5 websphere jsf myfaces custom-renderer jsf-2

我正在使用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>
Run Code Online (Sandbox Code Playgroud)

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

Bal*_*usC 8

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