Próbuję przesłonić renderujący dla h:selectBooleanCheckbox
(z powodów wyjaśnionych here):JSF 2.0: Jak zastąpić renderowania bazowe niestandardowymi?
Jednak uważam, że to niemożliwe, aby zarejestrować renderujący. Próbowałem deklarowania go w moim 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>
Wartości złapałem od:
- komponent-family:
javax.faces.component.html.HtmlSelectBooleanCheckbox
- renderujący typu:
javax.faces.component.html.SelectBooleanCheckboxTag
Ale to nie robi nie działa.
Próbowałem też --long deklarowania RenderKit
:
<description>Custom renderers</description>
<render-kit-id>???</render-kit-id>
<render-kit-class>com.sun.faces.renderkit.RenderKitImpl</render-kit-class>
Ale jak widać, ja naprawdę nie wiem, gdzie chwycić wartość render-kit-id
lub jeśli render-kit-class
jest poprawna i tak.
pakiet Wewnątrz Mojarra istnieje plik jsf-ri-runtime.xml
ale nie deklarują renderujących. Deklaruje tylko RenderKitFactory
, pod którym nie znajduję niczego interesującego.
Wskaźniki?
niezwiązane z problemem, dlaczego kiedykolwiek użyć nie-wartości logicznych jako wartość 'selectBooleanCheckbox'? W jaki sposób obiekt nie będący boolowskim może reprezentować stan logiczny? – BalusC
Hmm, masz rację, to działa. Nie testowałem wcześniej metodami encodeXXX, właśnie ustawiłem punkt przerwania na moją metodę 'getConvertedValue', która nie jest wywoływana. Przyczyna tego może być jednak przedmiotem zupełnie innego pytania. W każdym razie, czy wiesz, że istnieje lista elementów JSF, ich typy renderowania i rodziny gdzieś, czy musimy zawsze nawigować do ich klas i wyszukiwać te zmienne? –
To połączenie z tabeli 8.1 do 2.0 JSF specyfikacji i [ 'COMPONENT_FAMILY'] (http://download.oracle.com/javaee/5/api/constant-values.html#javax.faces.component.UISelectBoolean.COMPONENT_FAMILY) stała wartość pola w dokumencie JSF 2.0 API. Ostatecznie można zapoznać się z rozdziałem 4.1.x specyfikacji JSF 2.0 dla obu. – BalusC