与元素类型“h:inputText”关联的属性名称“p:autofocus”必须后跟“=”字符

时间:2015-03-03 17:59:24

标签: html5 jsf facelets jsf-2.2 passthrough-attributes

似乎使用passthrough命名空间使用某些HTML 5属性存在错误,即:

<h:inputText id="text1" p:autofocus p:placeholder="this is a placeholder text"></h:inputText> 

当我尝试在Glassfish中运行该页面时,我收到此错误:

Error Parsing /index.xhtml: Error Traced[line: 19] Attribute name "p:autofocus" associated with an element type "h:inputText" must be followed by the ' = ' character.

请注意,占位符属性可以正常工作,只需要指定值(=""),例如autofocus失败。

这是一个已知的错误吗?

1 个答案:

答案 0 :(得分:6)

不,这是由XHTML standard

引起的
  

XML不支持属性最小化。属性 - 值对   必须写得完整。属性名称,例如compact和checked   不指定其值的元素不会出现。

来自http://www.w3schools.com/tags/att_input_autofocus.asp

  

HTML和XHTML之间的差异

     

在XHTML中,禁止属性最小化和自动对焦   属性必须定义为<input autofocus="autofocus" />