Objeto de h: outputLabel y su atributo “for”

Aquí hay un extracto de la documentación de la etiqueta :

Representa un elemento de “etiqueta” HTML. Representa el valor actual del componente como texto de etiqueta si está especificado. Si se especifica un atributo “para”, encuentre el componente especificado por el valor del atributo “para” y represente su ID de cliente como el valor del atributo “para”. Si se especifica el atributo “styleClass”, represente su valor como el valor del atributo “clase”.

Estoy confundido sobre el atributo for . ¿Cual es su propósito?

Es más fácil de entender si primero aprendes HTML básico. JSF está en el contexto de esta pregunta, es decir, simplemente un generador de código HTML. Hay un excelente tutorial HTML en htmldog.com . La , como fue generada por , se explica aquí .

Etiqueta HTML: etiqueta

Etiqueta para un elemento de formulario ( input , textarea o select ).

Atributos opcionales

for se puede usar para asociar la etiqueta a un elemento de formulario cuando el valor de for coincide con el valor del atributo id de un elemento.

Ejemplo


Entonces, el atributo for debe apuntar a la id del componente de entrada que la etiqueta está destinada a etiquetar . La etiqueta tiene las siguientes ventajas de SEO y usabilidad:

  1. Cuenta en el texto sobre el elemento de entrada asociado.
  2. Enfoca y activa el elemento de entrada asociado cuando se enfoca / hace clic en sí mismo.

Como JSF se encuentra en el contexto de esta pregunta simplemente como un generador de código HTML, exactamente lo mismo se aplica a los componentes JSF que generan ese HTML también.

 Email address  

Los buscadores encontrarán la etiqueta e indexarán el elemento de entrada asociado como tal. Los lectores de pantalla utilizados por personas con discapacidad visual encontrarán la etiqueta y contarán sus contenidos por sonido. Los usuarios finales pueden hacer clic en la etiqueta para ver cómo se enfoca la entrada asociada. Las casillas de verificación / botones de radio se seleccionarán al hacer clic en la etiqueta. Las entradas de archivos abrirán el diálogo de exploración al hacer clic en la etiqueta. Etcétera


Notado debe ser que relativamente muchos de los tutoriales JSF de baja calidad están abusando del con el único propósito de imprimir algo del texto de Hello World así:

  

Este caso de uso particular es, por lo tanto, incorrecto . En cambio, se debería haber usado un :

  

O incluso solo EL en el texto de la plantilla :

 #{bean.message} 

Si alguna vez encuentras un tutorial así que está abusando de esta manera, se recomienda encarecidamente que dejes de leerlo y te a un recurso más respetado por ti mismo. Esta es una fuerte indicación de que el autor del tutorial no sabe nada sobre HTML básico, mientras que, a su vez, es un prerrequisito bastante importante antes de aprender JSF. Quien apenas sabe algo de HTML básico seguramente no es un buen profesor de JSF. Nunca se sabe si un recurso de aprendizaje de tan baja calidad continúa en una espiral descendente de enseñanza de malas prácticas y, por lo tanto, es mejor dirigirse a otro diferente. Puede encontrar recursos sanos vinculados en la parte inferior de nuestra página wiki de JSF y en jsf.zeef.com .