JSF inputHidden

Rate this post

Para crear un campo oculto en un formulario web en JSF utilizamos la etiqueta h inputHidden. Esta etiqueta debe estar ubicada en un <h:form> y al ser procesada la página se renderiza un <input typehidden«> de HTML que nos permite pasar datos no visibles al enviar un formulario. Se debe tener en cuenta que los datos contenidos por un input hidden se pueden visualizar abriendo el código fuente de la página o con una herramienta de debug. La etiqueta debe tener asignados al menos los atributos:

idsi necesitamos hacer referencia al componente.
Cuando la página se procesa este atributo se renderiza
como el atributo ‘name’ de la etiqueta de HTML.
valuepara hacer referencia al valor asignado al componente.

El siguiente código:

<h:form>
    <h:inputHidden id="nombre" value="JUAN" />
</h:form>

Al ser procesado se obtiene el siguiente elemento HTML:

<input id="j_idt13:nombre" type="hidden" name="j_idt13:nombre" value="JUAN">

Notar que los valores de los atributos id y name tienen un prefijo aleatorio seguido del valor que asignamos a id en la etiqueta h inputHidden de JSF. Para que este valor sea descriptivo hay que asignar un id a <h:form>.

<h:form id="customerForm">
    <h:inputHidden id="nombre" value="JUAN" />
</h:form>

Al ser procesado se obtiene el siguiente HTML:

<input id="customerForm:nombre" type="hidden" name="customerForm:nombre" value="JUAN">

Para poder manipular el valor del campo de texto desde el Managed Bean correspondiente, necesitamos usar una expresión para hacer referencia al atributo del Bean:

<h:inputHidden id="nombre" value="#{bean.firstName}" />

Conclusión

En resumen, el componente h:inputHidden de JavaServer Faces ofrece una solución eficiente para manejar datos en aplicaciones web, especialmente cuando se requiere almacenar información que no debe ser visible ni editable por el usuario. El uso de h:inputHidden permite transferir datos de manera segura entre peticiones HTTP sin comprometer la integridad de la interfaz de usuario. Esto permite mantener el estado y los datos necesarios de forma transparente, simplificando la lógica de la aplicación y mejorando la eficiencia en la gestión de datos. Su correcta implementación no solo optimiza el rendimiento, sino que también refuerza la seguridad de la aplicación al evitar la exposición innecesaria de información sensible.


Te puede interesar

JSF inputSecret

El componente JSF inputSecret permite crear un elemento de HTML. En este artículo se explica su utilización y ejemplos.

Seguir leyendo →

JSF inputText

El componente JSF inputText permite crear un elemento de HTML. En este artículo se explica su utilización y ejemplos.

Seguir leyendo →