我试图覆盖渲染器h:selectBooleanCheckbox(由于这里解释的原因):
但是,我发现无法注册我的渲染器.我试过在我的声明中声明faces-config.xml:
<render-kit>
<renderer>
<component-family>javax.faces.SelectBoolean</component-family>
<renderer-type>javax.faces.Checkbox</renderer-type>
<renderer-class>com.myapp.CustomCheckboxRenderer</renderer-class>
</renderer>
</render-kit>
Run Code Online (Sandbox Code Playgroud)
我抓住的价值观:
javax.faces.component.html.HtmlSelectBooleanCheckboxjavax.faces.component.html.SelectBooleanCheckboxTag但它不起作用.
我也试过详细宣布RenderKit:
<description>Custom renderers</description>
<render-kit-id>???</render-kit-id>
<render-kit-class>com.sun.faces.renderkit.RenderKitImpl</render-kit-class>
Run Code Online (Sandbox Code Playgroud)
但正如你所看到的,我真的不知道在哪里获取价值render-kit-id或者render-kit-class无论如何都是正确的.
在Mojarra包内有文件,jsf-ri-runtime.xml但它没有声明渲染器.它只声明一个RenderKitFactory,我根本不会直接找到任何感兴趣的内容.
指针?