2010-05-12 14 views
16

favor, eche un vistazo a este por debajo de la línea de código en JSFJSF: solicitud inicial y solicitud de devolución de datos?

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

Presupuesto de java.sun.com:

Para una solicitud inicial de la página que contiene esta etiqueta, la implementación JavaServer Faces evalúa la expresión #{customer.name} durante la fase de respuesta de representación del ciclo de vida. Durante esta fase, la expresión simplemente accede al valor del nombre del 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 el cual el valor se recupera de la solicitud, se valida y se propaga al bean del cliente.

no estoy seguro de entender solicitud inicial vs solicitud de devolución de datos . ¿El navegador del cliente realiza dos solicitudes diferentes al servidor web?

Respuesta

12

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

Saber si la vista actual que se muestra 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 la página se actualiza.

23

La solicitud inicial solo pasa por la Vista de restauración & Realiza fases de respuesta, mientras que el proceso de solicitud de devolución 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 una solicitud de devolución se crea publicando un formulario haciendo clic en un botón de envío o en cualquier solicitud posterior.

+1

No todo el tiempo. Todas las 6 fases se ejecutarán en caso de una solicitud GET inicial con parámetros de visualización. –

+0

Esta respuesta no es 100% correcta. El comentario de @ShirgillFarhanAnsari es correcto y la respuesta se actualiza mejor. –

0

Normalmente, solo tendría 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, p. JSESSIONID, pero no con javax.faces.viewid para restaurar.

Cuando tienes una página abierta y haces algo cursi lamen: window.location = newUrl -> también vas a hacer una solicitud inicial.

Cuando, en su lugar, hace algo como jQuery ("# ​​somoeSubmitButton"), haga clic en(), se ENVIARÁ al servidor y se restaurará su vista anterior, y si se pregunta faces context.isPostback()? te harás realidad

Cuestiones relacionadas