Jsf生命周期-验证失败后呈现响应

Jsf生命周期-验证失败后呈现响应,jsf,Jsf,我希望BalusC或你们中的一位JSF专家能帮助我理解JSF生命周期的更精细的方面,特别是渲染 我很难理解的是,在渲染响应期间,会从模型中获取值并显示给用户。现在,如果存在验证错误,则不会更新模型,因此渲染器必须向用户显示组件树中的无效值。这很好,但是渲染器如何确定是从模型中读取,还是从组件树中读取?如果它来自组件树,这是否意味着如果请求通过了验证,并且事件处理程序在呈现之前更新了模型值,那么这些值会反映给用户 我已经读了很多关于jsf生命周期的书,但是我没有发现有任何东西能够深入到jsf生命周

我希望BalusC或你们中的一位JSF专家能帮助我理解JSF生命周期的更精细的方面,特别是渲染

我很难理解的是,在渲染响应期间,会从模型中获取值并显示给用户。现在,如果存在验证错误,则不会更新模型,因此渲染器必须向用户显示组件树中的无效值。这很好,但是渲染器如何确定是从模型中读取,还是从组件树中读取?如果它来自组件树,这是否意味着如果请求通过了验证,并且事件处理程序在呈现之前更新了模型值,那么这些值会反映给用户


我已经读了很多关于jsf生命周期的书,但是我没有发现有任何东西能够深入到jsf生命周期中来回答我的问题。我想准确地理解这些东西是如何工作的。

在应用请求值阶段,所有请求参数都通过
setSubmittedValue()
UIInput
上设置为提交值

在验证阶段,只有且仅当值有效时,提交的值才会设置为
null
,转换和验证的值通过
setValue()
UIInput
上设置。因此,如果该值无效,则提交的值将不会设置为
null

在“更新模型值”阶段,将使用该值更新模型值

在渲染响应阶段,
UIInput
渲染器首先检查
getSubmittedValue()
是否未返回
null
。如果没有(因此,验证失败),则显示它。否则只显示模型值