h:selectBooleanCheckbox
için renderer'i geçersiz kılmaya çalışıyorum (here açıklanan nedenlerden dolayı):JSF 2.0: Özel oluşturucularla temel oluşturucuları nasıl geçersiz kılarsınız?
Ancak, oluşturucumuzu kaydetmeyi imkansız buluyorum. Bunu 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>
olarak bildirmeyi denedim. Tuttuğum değerler:
- bileşen ailesi:
javax.faces.component.html.HtmlSelectBooleanCheckbox
- işleyici türü:
javax.faces.component.html.SelectBooleanCheckboxTag
Ancak Çalışıyorum
Aynı zamanda RenderKit
:
<description>Custom renderers</description>
<render-kit-id>???</render-kit-id>
<render-kit-class>com.sun.faces.renderkit.RenderKitImpl</render-kit-class>
olduğunu açıklayarak denedim. Ama görebildiğiniz gibi render-kit-id
değerini nereden alacağımı bilmiyorum.
Mojarra paketinin içinde jsf-ri-runtime.xml
dosyası var, ancak renderleyicileri beyan etmiyor. Yalnızca bir ilgi alanı bulmak için doğrudan bir RenderKitFactory
olduğunu beyan eder.
İşaretçiler?
Sorunla ilgisi olmayan, neden bool olmayanları bir "selectBooleanCheckbox" değeri olarak kullanacaksınız? Boole olmayan bir nesne, bir boole durumunu nasıl temsil edebilir? – BalusC
Hmm, haklısın, işe yarıyor. Daha önce encodeXXX yöntemleriyle test etmedim, özel işleyicimin 'getConvertedValue' yöntemine kesme noktası koymuştum. Ancak bunun nedeni tamamen farklı bir soruna konu olabilir. Her neyse, JSF bileşenleri, render-tipleri ve aileleri için bir liste var mı, yoksa her zaman kendi sınıflarına gitmeli ve bu değişkenleri aramalı mıyız? –
JSF 2.0 özellikleri ve ['COMPONENT_FAMILY'] 'da tablo 8.1'in bir kombinasyonu (http://download.oracle.com/javaee/5/api/constant-values.html#javax.faces.component.UISelectBoolean.COMPONENT_FAMILY) JSF 2.0 API belgesindeki sabit alan değeri. Sonunda, her ikisi için JSF 2.0 spec bölüm 4.1.x danışılabilir. – BalusC