JSF 2.0 PrimeFaces 渲染器覆盖

发布于 2024-12-16 20:38:23 字数 1030 浏览 0 评论 0原文

我正在尝试扩展一些 primefaces 组件渲染器类以进行相同的更改,我在 faces 配置中注册新的渲染器,

<render-kit>
        <renderer>
            <component-family>org.primefaces.component</component-family>
            <renderer-type>org.primefaces.component.CommanButton</renderer-type>
            <renderer-class>ExtendedTags.myCommandButton</renderer-class>
        </renderer>
    </render-kit>

我可以看到它调用渲染器的构造函数,但没有调用其他重写的函数encodeBegin、encodeEnd 等。我是否遗漏了什么? primefaces 组件是否有任何特殊添加?这是我的渲染器类

public class myCommandButton extends CommandButtonRenderer{

    public myCommandButton() {
    System.out.println("button constructor");
    }



    @Override
    public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
        System.out.println("button encode begin");
        super.encodeBegin(context, component);
        ResponseWriter writer = context.getResponseWriter();
        writer.write("*");

    }



}

I am trying to Extend some of the primefaces components renderer class to make same changes i register new renderer in the faces config

<render-kit>
        <renderer>
            <component-family>org.primefaces.component</component-family>
            <renderer-type>org.primefaces.component.CommanButton</renderer-type>
            <renderer-class>ExtendedTags.myCommandButton</renderer-class>
        </renderer>
    </render-kit>

i can see that it calls the constructor of the renderer but not the other overridden functions encodeBegin encodeEnd etc. am i missing something? Is there any special addition for primefaces components? Here is my Renderer Class

public class myCommandButton extends CommandButtonRenderer{

    public myCommandButton() {
    System.out.println("button constructor");
    }



    @Override
    public void encodeBegin(FacesContext context, UIComponent component) throws IOException {
        System.out.println("button encode begin");
        super.encodeBegin(context, component);
        ResponseWriter writer = context.getResponseWriter();
        writer.write("*");

    }



}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

木緿 2024-12-23 20:38:23
        <renderer>
            <component-family>org.primefaces.component</component-family>
            <renderer-type>org.primefaces.component.CommandButtonRenderer</renderer-type>
            <renderer-class>ExtendedTags.myCommandButton</renderer-class>
         </renderer>
        <renderer>
            <component-family>org.primefaces.component</component-family>
            <renderer-type>org.primefaces.component.CommandButtonRenderer</renderer-type>
            <renderer-class>ExtendedTags.myCommandButton</renderer-class>
         </renderer>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文