如何重写primefaces组件类



我想重写一个primefaces组件类。因此,我已经在WAR项目的faces-config.xml中注册了组件类。

    <component>
        <component-type>org.primefaces.component.dnd.Droppable</component-type>
        <component-class>com.******.****.****.component.CustomDroppable</component-class>
    </component>

这是我的新测试类:

public class CustomDroppable extends Droppable{
    @Override
    public void queueEvent(FacesEvent event) {
        System.out.print("fffffffffffff");
    }
}

应用程序是重新构建的,但它使用旧的类。为什么?我还应该怎么做呢?

<component-type>中,您应该指定组件类型,而不是组件类。组件类型不一定类似于Java FQN,它可以是任何类型的字符串。通常,你可以在你想要替换的组件类的API文档中找到正确的组件类型。

对于org.primefaces.component.dnd.Droppable类,定义为常量字段COMPONENT_TYPE,其值为org.primefaces.component.Droppable(因此,与组件类相比,没有dnd"子包")。

修改如下:

<component>
    <component-type>org.primefaces.component.Droppable</component-type>
    <component-class>...</component-class>
</component>

参见:

  • 组件族、组件类型和渲染器类型之间的关系是什么?

相关内容

  • 没有找到相关文章