JSF 2.0 PrimeFaces渲染器替代 [英] JSF 2.0 PrimeFaces Renderer Override

查看:123
本文介绍了JSF 2.0 PrimeFaces渲染器替代的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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>

我可以看到它调用了渲染器的构造函数,但没有调用其他重写的函数encodeBegin encodeEnd等.我是否缺少某些东西? Primefaces组件是否有任何特殊添加?这是我的渲染器类

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("*");

    }



}

推荐答案

        <renderer>
            <component-family>org.primefaces.component</component-family>
            <renderer-type>org.primefaces.component.CommandButtonRenderer</renderer-type>
            <renderer-class>ExtendedTags.myCommandButton</renderer-class>
         </renderer>

这篇关于JSF 2.0 PrimeFaces渲染器替代的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆