JSF 2.0: Comment remplacer la base de convertisseurs avec les personnalisées?

Je suis en train de remplacer moteur de rendu pour h:selectBooleanCheckbox (pour les raisons expliquées ici):

Cependant, je trouve qu'il est impossible d'enregistrer mon moteur de rendu. J'ai essayé de le déclarer dans mon 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>

Les valeurs que j'ai attrapé à partir de:

  • composant-famille: javax.faces.component.html.HtmlSelectBooleanCheckbox
  • convertisseur-type: javax.faces.component.html.SelectBooleanCheckboxTag

Mais ça ne fonctionne pas.

J'ai aussi essayé avec beaucoup de détails déclarant la RenderKit:

<description>Custom renderers</description>
<render-kit-id>???</render-kit-id>
<render-kit-class>com.sun.faces.renderkit.RenderKitImpl</render-kit-class>

Mais comme vous pouvez le voir, je ne sais pas vraiment par où saisir la valeur pour render-kit-id ou si le render-kit-class est correct de toute façon.

À l'intérieur de Mojarra, il n'y a fichier jsf-ri-runtime.xml mais il ne doit pas déclarer les moteurs de rendu. Il ne déclare qu'une RenderKitFactory, en vertu de laquelle je n'ai pas directement trouver quelque chose d'intéressant.

Pointeurs?

OriginalL'auteur Tuukka Mustonen | 2011-01-05