html5 – JSF 2中的纯HTML 5标记支持

前端之家收集整理的这篇文章主要介绍了html5 – JSF 2中的纯HTML 5标记支持前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想在我的JSF页面中使用纯HTML 5,因为JSF2提供的HTML支持无法实现某些UI功能.

在JSF 2.0中,HTML 5表单元素的某些属性无法在标准JSF输入组件中正确呈现.

例如,< input type =“email”不能由< h:inputText type =“email”呈现. 在下面给出的link中,他们使用了一些纯HTML 5标签,例如< canvas> <报头GT; <页脚> <小>等等

现在我的问题是:

>当我尝试在我的JSF页面中使用类型为“text”的纯html输入标记时,我无法从我的Managed Bean中检索该值并将其设置为此文本框.为什么价值没有显示
> xhtml页面中仅支持一些纯HTML 5标记,或者支持所有纯HTML 5标记

解决方法

HTML5支持added in JSF2.2.从那时起,您可以向JSF-Components添加直通属性
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:p="http://java.sun.com/jsf/passthrough">
  <h:form>
    <h:inputText p:type="email" />
  </h:form>
</html>

JSF(2.0和2.2)将忽略未知的属性.如果需要使用JSF2.0呈现HTML5-Attributes,可以使用Omnifaces HTML5 Renderkit.

纯HTML标签只是纯HTML标签.它们不是JSF组件.因此,它们将呈现给视图,但JSF将不关心它们,也不会更新您的模型.

JSF2.2也带有Passthrough Elements.现在可以将HTML-Tag转换为JSF-Component:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:jsf="http://java.sun.com/jsf" 
  xmlns:f="http://java.sun.com/jsf/core">
  <input jsf:id="foo" type="text" jsf:value="#{bean.bar}">
</html>

JSF知道有一个corresponding UIComponent并将此HTML-Tag转换为h:inputText.如果没有相应的UIComponent,JSF将创建一个支持ajax的特殊组件.

另见:JSF 2.2: HTML5 friendly markup

原文链接:https://www.f2er.com/html5/168799.html

猜你在找的HTML5相关文章