java jsf java-ee postback

java - JSF: solicitud inicial y solicitud de devolución?



java-ee postback (3)

Por favor, eche un vistazo a esta línea de código a continuación en JSF

<h:inputText id="name" value="#{customer.name}" />

Cita de java.sun.com:

Para una solicitud inicial de la página que contiene esta etiqueta, la implementación de JavaServer Faces evalúa la expresión #{customer.name} durante la fase de respuesta de procesamiento del ciclo de vida. Durante esta fase, la expresión simplemente accede al valor del nombre desde el bean del cliente, como se hace en la evaluación inmediata.

Para una solicitud de devolución, la implementación de JavaServer Faces evalúa la expresión en diferentes fases del ciclo de vida, durante la cual el valor se recupera de la solicitud, se valida y se propaga al bean del cliente.

No estoy seguro de entender la solicitud inicial frente a la solicitud de devolución . ¿El navegador del cliente realiza dos solicitudes diferentes al servidor web?


La solicitud inicial es la solicitud que realiza el navegador para mostrar la página con la etiqueta ${customer.name} . La devolución se produce cuando el navegador publica algunos o todos los valores de la página y luego la misma página que se publicó en primer lugar se devuelve al cliente. Esto puede suceder, por ejemplo, como resultado de un error de validación.

Saber si la vista actual que se está mostrando es el resultado de una devolución de datos es útil. Por ejemplo, es posible que desee mostrar un mensaje como resultado de una devolución de datos, pero no cada vez que se actualiza la página.


La solicitud inicial solo pasa por las fases de Restaurar vista y Procesar respuesta, mientras que el proceso de solicitud de devolución de datos en todas las fases (Aplicar valores de solicitud, Fase de validación, etc.).

La solicitud inicial se crea haciendo clic en un enlace, pegando una URL en la barra de direcciones, mientras que la solicitud de devolución de datos se crea mediante la publicación de un formulario haciendo clic en el botón Enviar o en cualquier solicitud posterior.


Normalmente, solo tendrá una solicitud inicial, cuando vaya al navegador y escriba la URL de su aplicación. Esto hace una solicitud HTTP GET al servidor con sus cookies, por ejemplo, JSESSIONID, pero no con un javax.faces.viewid para restaurar.

Cuando tengas una página abierta y hagas cosas interesantes, haz clic en: window.location = newUrl -> también harás una solicitud inicial.

Cuando, en cambio, haga algo como jQuery ("# ​​somoeSubmitButton"). Haga clic en (), enviará un POST al servidor y se restaurará su vista anterior, y si pregunta en context.isPostback ()? obtendrás verdad