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

时间:2013-04-10 07:33:03

标签: jsf jsf-2 websphere myfaces custom-renderer

我正在使用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>

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

1 个答案:

答案 0 :(得分:8)

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