Подтвердить что ты не робот

JSF: первоначальный запрос и запрос обратной передачи?

Пожалуйста, взгляните на приведенную ниже строку кода в JSF

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

Цитата из java.sun.com:

Для первоначального запроса страницы, содержащей этот тег, реализация JavaServer Faces оценивает выражение #{customer.name} во время фазы ответа рендеринга жизненного цикла. На этом этапе выражение просто обращается к значению имени от клиента bean, как это делается при непосредственной оценке.

Для запроса обратной передачи реализация JavaServer Faces оценивает выражение на разных этапах жизненного цикла, в течение которого значение извлекается из запроса, проверяется и распространяется клиенту bean.

Я не уверен, что понимаю исходный запрос и запрос обратной передачи. Создает ли клиентский браузер два разных запроса на веб-сервер?

4b9b3361

Ответ 1

Первоначальный запрос - это запрос, который делает браузер, чтобы отобразить страницу с тегом ${customer.name}. Возврат почты происходит, когда браузер публикует некоторые или все значения страницы, и затем возвращается клиенту та же самая страница, которая была отправлена ​​в первую очередь. Это может произойти, например, в результате ошибки проверки.

Знание того, является ли текущее представление визуализированным, является результатом обратной передачи. Например, вы можете отобразить сообщение в результате обратной передачи, но не каждый раз, когда страница обновляется.

Ответ 2

Исходный запрос проходит только фазы восстановления и визуализации ответа, а процесс запроса обратной передачи выполняется на всех этапах (Apply Request Values, Validations Phase и т.д.).

Первоначальный запрос создается путем нажатия ссылки, вставки URL-адреса в адресной строке, в то время как запрос обратной передачи создается путем публикации формы путем нажатия кнопки отправки или любого запроса на отправку.

Ответ 3

Обычно у вас будет только один первоначальный запрос, когда вы перейдете в браузер и напишите в URL-адресе своего приложения. Это делает HTTP-запрос GET сервером с вашими куки файлами, например. JSESSIONID, но не с восстановлением javax.faces.viewid.

Когда у вас есть открытая страница, и вы делаете взломанные вещи lick: window.location = newUrl → , вы также сделаете первоначальный запрос.

Вместо этого вы делаете что-то вроде jQuery ( "# somoeSubmitButton" ). click(), вы получите POST на сервер, и ваше старое представление будет восстановлено - и если вы спросите лицо context.isPostback()? вы получите правду.