Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf Faces组件的寿命_Jsf - Fatal编程技术网

Jsf Faces组件的寿命

Jsf Faces组件的寿命,jsf,Jsf,我只声明了一个简单的FacesComponent,将其用于复合组件 @FacesComponent("fc/myFacesComponent") public class MyFacesComponent extends UINamingContainer { ... } 现在我问自己,FacesComponent注释类的生命周期有多长?组件本身将从初始构建视图(JSF生命周期的第一阶段)一直存在到第二次构建组件树的渲染视图阶段。 但我想知道你是否真的想问别的问题。也许是关于托管bean

我只声明了一个简单的FacesComponent,将其用于复合组件

@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
   ...
}

现在我问自己,FacesComponent注释类的生命周期有多长?

组件本身将从初始构建视图(JSF生命周期的第一阶段)一直存在到第二次构建组件树的渲染视图阶段。
但我想知道你是否真的想问别的问题。也许是关于托管bean的生命周期?

组件本身将从初始构建视图(JSF生命周期的第一阶段)一直存在到第二次构建组件树的呈现视图阶段。 但我想知道你是否真的想问别的问题。也许是关于托管bean的生存期?

@FacesComponent(“fc/myFacesComponent”)生存期是最长的范围,我们无法更改它

如果需要,可以在其中注入bean(会话),获取状态并将其显示给组件

@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
   ...
}
支持bean是JSF管理bean或CDI焊接bean

谢谢, Roshan

@FacesComponent(“fc/myFacesComponent”)寿命是最长的范围,我们无法更改它

如果需要,可以在其中注入bean(会话),获取状态并将其显示给组件

@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
   ...
}
支持bean是JSF管理bean或CDI焊接bean

谢谢,
Roshan

不,这其实是我想知道的。非常感谢。组件树在渲染响应阶段根本不会第二次生成。当然,至少会再次生成,因为视图可以在之前的阶段和事件中更改。当然,当视图ID改变时。检查MyFace的org.apache.myfaces.lifecycle.RenderResponseExecutor.execute()。当视图ID没有更改时,甚至在渲染阶段还需要第二个buildView进程,因为当视图上有JSTL标记(例如c:if)或使用dynamic includes(ui:include with EL expression at src attribute)时,树可能会更改。不,这实际上是我想知道的。非常感谢。组件树在渲染响应阶段根本不会第二次生成。当然,至少会再次生成,因为视图可以在之前的阶段和事件中更改。当然,当视图ID改变时。检查MyFace的org.apache.myfaces.lifecycle.RenderResponseExecutor.execute()。当视图ID未更改时,甚至需要在渲染阶段执行第二个buildView过程,因为当视图上存在JSTL标记(例如c:if)或使用动态包含(ui:include with EL expression at src属性)时,树可能会更改。