PrimeFaces组件的自定义渲染器在Tomcat中工作得很好,但在Websphere中就不行



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

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

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

相关内容

  • 没有找到相关文章

最新更新