正如您在链接到的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