What's the view build time?

时光毁灭记忆、已成空白 提交于 2019-11-26 08:44:35
BalusC

The view build time is not a phase. The view build time is that moment when the physical UIViewRoot instance and all of its children is built based on the view declaration, which is usally defined in XHTML or JSP files.

The view build time moment is not restricted to a specific JSF lifecycle phase. It can technically happen in any phase. By default, it's indeed usually executed during the restore view phase, but it can also happen during the render response phase, specifically when the request is a GET request, or when navigation has taken place during a POST request. Developers can also programmatically build the view via ViewDeclarationLanguage#buildView(), or implicitly force the JSF implementation to do that via FacesContext#setViewRoot(), when navigation isn't sufficient for the specific task.

The restore view phase just restores the JSF state into the view. I.e. it sets the component attributes with values as they were during the previous request on the same view. This way JSF knows exactly how the view looked like at the moment the form was being presented to the enduser and can among others do some safeguards against tampered requests.

See also:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!