За именем атрибута "p:autofocus", связанным с типом элемента "h:inputText", должен следовать символ "="
Кажется, что есть ошибка при использовании некоторых атрибутов HTML 5 с использованием passthrough
пространство имен, то есть:
<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.
Обратите внимание, что атрибут placeholder работает нормально, только те, которым не нужно указывать значение (=""
), например autofocus
терпят неудачу.
Это известная ошибка?
1 ответ
Нет, это вызвано стандартом XHTML:
XML не поддерживает минимизацию атрибутов. Пары атрибут-значение должны быть записаны полностью. Имена атрибутов, такие как компактный и проверенный, не могут встречаться в элементах без указания их значения.
С http://www.w3schools.com/tags/att_input_autofocus.asp
Различия между HTML и XHTML
В XHTML минимизация атрибутов запрещена, и атрибут автофокуса должен быть определен как
<input autofocus="autofocus" />
,