Para que sirve process=”@this” e immediate=”true” en Primefaces

publicado por: Anonymous

Llevo un tiempo trabajando con Primefaces y JSF y la verdad es que aun me es dificil comprender para que sirve exactamente los atributos:

process="@this"
immediate="true"

A veces cuando alguna accion no actualiza mis elementos, agrego estas líneas y hace que funcione bien lo que necesito, pero sigo sin entender:

¿Qué hacen exactamente?

¿Cual es la diferencia entre un process y un update?

solución

Te recomiendo leer la documentación relacionada al ciclo de vida de JSF, para que comprendas todo el proceso del request y response que ocurre. Para esto te invito a que leas este link

Ciclo de vida de JSF

También te recomiendo descargar la guía de usuario de primefaces desde:

Guía de usuario de primefaces 6.2

Ahí específicamente a la sección 4.2 Partial Processing y lee con atención lo que ahí encontrarás.

No término sin antes explicarte con mis palabras para que sirven process=”@this” e
immediate=”true”
.

Algunos componentes de primefaces tienen esas propiedades y específicamente aquellos que pueden hacer la tarea de poder hacer un POST -enviar datos al servidor- a través de HTTP. Generalmente esto se hace a través de un formulario -form-, entonces:

process=”@this” indica que el componente que lo tiene será el único objeto -dato- que será enviado al servidor, excluyendo a cualquier otro que existe en el formulario. Lo contrario a este sería process=”@all” o bien process=”@form” ambos enviaran todos los objetos de datos al servidor. El proceso se detendrá si un dato no es valido.

Ahora immediate=”true” ayuda a omitir el proceso de validación de tal forma que si tuvieras un botón dentro de un formulario y tuviera process=”@form” e immediate=”true” todos los datos serian enviados pese a que alguno fuera “requerido”. Hay que tener cuidado con esta combinación.

Pero te invito a leer los documentos que te anexo a través de links.

Respondido por: Anonymous

Leave a Reply

Your email address will not be published.