我与一个负责前端开发的JSF团队合作。我们正在输出一个INPUT字段,我需要在渲染标记中包含placeholder
和一些data-
属性。然而,JSF正在剥离它们。我不知道JSF对JSF团队有多大帮助,但我想我至少可以问一下。
我们使用的是旧版本的JSF,但升级到2.0,因为它似乎支持HTML5。那不是这样吗?有没有一种已知的解决方法?
答案 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="theora, vorbis"' />
</video>
这样你可以使用任何HTML5组件 - 绑定将作为其他JSF组件与JSF一起使用。你也可以在HTML的输入元素中使用相同的想法。
<强> EDITED 强>
对于占位符,您可以在其中使用PrimeFaces。查看其组件以获取更多详细信息。