Я решил полностью копаться в JSF 2.0, так как мой проект требует глубокого знания. Я читаю JSF Lifecyle Debug, хорошо написанную и потрясающую статью о жизненном цикле JSF. Читая эту статью, у меня есть следующие недоумения.
-
Если это начальный запрос, в
Restore View Phase
создается пустой вид и выполняется прямаяRender Response Phase
. На данный момент нет состояния для сохранения. Что на самом деле происходит вRender Response Phase
, то? Я немного смущен, пока я запускаю пример. -
В статье говорится, что полученное входное значение устанавливается в фазе
inputComponent.setSubmittedValue()
вApply Request Values
. Если выполняется проверка и преобразование, значение устанавливается вinputComponent.setValue(value)
иinputComponent.setSubmittedValue(null)
. В одной и той же статье указывается, что теперь, если в следующем запросе обратной обратной связи значение изменяется, оно сравнивается с представленным значением, которое всегда было бы нулевым для каждого сообщения, value change listener
будет вызвано. Это означает, что если мы не изменим значение даже, поскольку представленный Value будет null, valueChangeListener всегда будет вызываться? Я смущен этим утверждением. Может ли кто-нибудь уточнить это? -
В статье указано использование атрибута
immediate
. Если атрибутimmediate
установлен на входном компоненте, то в идеалеProcess Validation Phase
пропускается, но все преобразования и проверки происходят вApply Request Values
. Моя точка зрения заключается в том, что все еще, когда происходит преобразование и проверка, какое преимущество пропускает третья фаза? -
Что означает значение, полученное термином?
-
Я хотел бы знать, если можно сказать, что в представлении есть пять полей. Содержит ли JSF список некоторых наборов этих значений и
Apply Request Values
иProcess Validations
перебирает по очереди один за другим? -
В последнем пункте этой статьи, где указано, когда использовать атрибут
immediate
. В соответствии с моим пониманием, если непосредственный атрибут установлен как в компоненте ввода, так и в командном компоненте, он будет пропускать фазы из значений запроса заявки для вызова приложения для любого атрибута, не имеющегоimmediate
. Затем, что последнее выражение означает кнопку "забытый пароль" в форме входа в систему с обязательным и немедленным полем имени пользователя и обязательным, но немедленным полем пароля.
Я знаю, что это очень простые путаницы, но ясность в этих вопросах, безусловно, поможет обострить знания JSF.