html - que - templates jsf primefaces
Los atributos de etiqueta HTML personalizados no son renderizados por JSF (1)
Esto es por diseño. Solo puede especificar atributos que sean supported con el componente JSF mismo (es decir, se enumera en la lista de atributos en la documentación de la etiqueta ). No puede especificar atributos adicionales arbitrarios, todos serán simplemente ignorados.
Hay varias formas de resolver esto:
Si ya está en JSF 2.2+, simplemente especifíquelo como atributo passthrough :
<html ... xmlns:a="http://xmlns.jcp.org/jsf/passthrough"> ... <h:inputText ... a:autocorrect="off" />
(Tenga en cuenta que estoy usando
xmlns:a
lugar dexmlns:p
para evitar conflictos con el espacio de nombres predeterminado de PrimeFaces)O:
<html ... xmlns:f="http://xmlns.jcp.org/jsf/core"> ... <h:inputText ...> <f:passThroughAttribute name="autocorrect" value="off" /> </h:inputText>
Utilice OmniFaces
Html5RenderKit
. Desde la versión 1.5, admite la especificación de atributos personalizados por<context-param>
. Ver también el ejemplo de escaparate o Javadoc .Crea un renderizador personalizado. Puede encontrar varios ejemplos concretos en las respuestas a continuación:
- Cómo dejar que JSF pase a través de atributos HTML
- Uso de etiquetas relacionadas con bootstrap dentro de JSF2 h: componente inputText
- ¿Cómo renderizar un atributo personalizado de <h: outputLink>?
- InputText PrimeFace no aplica maxlength
- Agregar atributos personalizados a Primefaces Componente de autocompletar en JSF
Deseo agregar algunos atributos de etiqueta específicos de iOS a mi formulario de inicio de sesión. Si eché un vistazo a la fuente de mi página web, los atributos autocorrect, autocapitalize y spellcheck no están ahí. ¿Cuál es la razón para esto? Estoy usando JSF 2.x.
<h:inputText id="user-name" forceId="true" value="#{login.username}" style="width:120px;"
autocorrect="off" autocapitalize="off" spellcheck="false" />