正如您在鏈接到的TagDecorator頁面上看到的,'html5友好'標記僅與'基本'輸入,按鈕和鏈接有關。 PrimeFaces有一些對應的功能,但如果仔細看看這個'html5友好'符號的優點,它主要是在設計部分。爲什麼..
這些3個例子看看:
<input type="number" jsf:value="#{bean.value}"/>
<p:inputText type="number" value="#{bean.value}"/>
<h:inputText type="number" value="#{bean.value}"/>
(http://balusc.blogspot.com.au/2012/06/adding-html5-attributes-to-standard-jsf.html)
第一個是HTML(5)友好。但是,2和3在客戶端上渲染的東西依賴於渲染器的共享實現(在tagDecorator頁面中可以看到)。什麼1呈現是依賴PrimeFaces做什麼。他們都可以在客戶端渲染一個<input type="number".../>
,但他們也可以渲染更復雜的東西(如PrimeFaces現在所做的)。
那麼這種妝容的優點是什麼?就像我看到的那樣,這是對所有Javascript框架和Tapestry所倡導的其他組件框架的「反作用」。你可以使用純html來進行頁面設計。在我看來,這隻有有限的優勢。許多相關的UI組件類型,如數據表,樹,菜單,選項卡等,都需要大量的javascript才能工作,爲純HTML添加類並且更接近頁面最終的樣子,因此它們看起來不太好在設計師,因爲所有這些CSS和東西都失蹤了。對於複雜的jsf組件,btw也是如此,它們在設計器中不會很好,而且你仍然需要jsf'標籤'。所以最後,你會混合純html標記與他們的符號和'正常'jsf,我試過和不喜歡的一個組合(一致性好)
所以總而言之,我不認爲這很奇怪PF沒有添加TagHandlers來支持這個符號到他們的框架。我寧願讓他們花費時間和精力來進一步改進他們的組件。
Bravo! tl; dr:「HTML5友好標記」僅當您打算手工**時纔有意義,將JSF與客戶端框架(如jQuery UI,Bootstrap等)結合在一起,而不是使用已使用這些框架的JSF組件庫(PrimeFaces,BootsFaces等)。食物的思想:http://stackoverflow.com/questions/4421839/what-is-the-need-of-jsf-when-ui-can-be-achieved-from-css-html-javascript-jquery – BalusC
@BalusC :並不重要(我可以花很多錢)但我不確定Bravo是否有任何諷刺! ;-) – Kukeltje
我很高興看到另一個沒有被HTML5嗡嗡聲弄瞎的人。所以確實有一些諷刺,但沒有針對你:) – BalusC