2011-07-12 13 views
11

Ön uç geliştirme işlemini gerçekleştiren bir JSF ekibi ile çalışıyorum. Bir INPUT alanı çıkarıyoruz ve oluşturulmuş etikete placeholder ve birkaç data- özniteliğini eklemem gerekiyor. Ancak JSF bunları çıkarmaktadır. JSF ekibine çok fazla yardım edebilecek kadar JSF bilmiyorum, ama en azından etrafta olabileceğimi düşündüm.JSF 2.0 gerekli HTML5 özniteliklerini çıkarır

JSF'nin eski bir sürümünü kullanıyorduk, ancak HTML5'i destekleyeceği göründüğü için 2.0'a yükseltildik. Durum böyle değil mi? Bu etrafında çalışmak için bilinen bir yolu var mı?

cevap

9

JSF onları tam olarak dışarıda bırakmak değil. Sadece görmezden geliyor çünkü söz konusu bileşenin desteklenen/bilinen özellikleri arasında değiller. Örneğin, <h:inputText> (varsayılan olarak bir HTML <input type="text"> etiketi oluşturur) durumunda, desteklenen tüm öznitelikleri view declaration language (VDL) documentation'da bulabilirsiniz.

Bunun üstesinden gelmek için, bir custom component veya daha iyisi, <h:inputText> standardını geçersiz kılan ve özel öznitelikleri hesaba katan bir custom renderer oluşturmanız gerekir.

+0

Teşekkürler, Balus. Tam olarak gideceğimiz rota. Tüm etiketlerimiz için kendi oluşturucularımızı yazıyoruz. Tedius, ama bizi oraya götürmeli. –

+2

[işte özel bir işleyici] (http://stackoverflow.com/questions/6859520/adding-custom-attribute-html5-support-to-jsf-2-0-uiinput -component) –

0

Facelet kullanıyorsanız, HTML5 bileşenlerini EL ifadesine yazabilirsiniz. örnek video için

:

<video name="myVideo" poster="#{bean.poster}" > 
    <source src="#{bean.vidoeSrc}" type='video/ogg; codecs=&quot;theora, vorbis&quot;' /> 
</video> 

HERHANGİ HTML5 bileşeni kullanabilirsiniz Bu şekilde - ve diğer JSF bileşenleri olarak JSF olacak bağlama. Aynı fikri HTML'in giriş öğesinde de kullanabilirsiniz.

REDAKTE yer tutucu için

Eğer PrimeFaces INPLACE kullanabilirsiniz. Daha fazla bilgi için bileşenlerine bakın.

+0

Biraz daha açıklar mısınız? EL'nin ne olduğundan emin değilim. Bizim sorunumuz, data- * 've' placeholder' özniteliklerinin HTML’ye geçmesini sağlamaktır. Kendi rendererimizi yazmak zorunda kalacağız gibi görünüyor. –

+0

@DA: EL (İfade Dili) bu şeylerdir. Ayrıca bkz. Http://stackoverflow.com/tags/el/info Odelya'nın HTML5 ** özniteliklerini ** HTML5 ** etiketleri ** ile karıştırdığını düşünüyorum. – BalusC