JSF 2.0删除了所需的HTML5属性

时间:2011-07-12 16:02:01

标签: html5 jsf html

我与一个负责前端开发的JSF团队合作。我们正在输出一个INPUT字段,我需要在渲染标记中包含placeholder和一些data-属性。然而,JSF正在剥离它们。我不知道JSF对JSF团队有多大帮助,但我想我至少可以问一下。

我们使用的是旧版本的JSF,但升级到2.0,因为它似乎支持HTML5。那不是这样吗?有没有一种已知的解决方法?

2 个答案:

答案 0 :(得分:9)

JSF并没有完全剥离它们。它只是忽略它们,因为它们不属于所讨论组件的受支持/已知属性。例如,<h:inputText>(默认情况下会呈现HTML <input type="text">代码),您可以在view declaration language (VDL) documentation中找到所有支持的属性。

要解决此问题,您需要创建一个custom component或更好的custom renderer来覆盖标准<h:inputText>渲染器并考虑自定义属性。

答案 1 :(得分:0)

如果您正在使用Facelet,您只需在HTML表达式中写入EL表达式。

例如视频:

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

这样你可以使用任何HTML5组件 - 绑定将作为其他JSF组件与JSF一起使用。你也可以在HTML的输入元素中使用相同的想法。

<强> EDITED

对于占位符,您可以在其中使用PrimeFaces。查看其组件以获取更多详细信息。