我只是聲明一個簡單的FacesComponent來將它與複合組件一起使用。FacesComponent的生存期
@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
...
}
現在我問自己,FacesComponent註釋類的生命期有多長?
我只是聲明一個簡單的FacesComponent來將它與複合組件一起使用。FacesComponent的生存期
@FacesComponent("fc/myFacesComponent")
public class MyFacesComponent extends UINamingContainer {
...
}
現在我問自己,FacesComponent註釋類的生命期有多長?
組件本身將從初始構建視圖(JSF生命週期的第一個階段)直到構建第二次構建組件樹的渲染視圖階段。 但我想知道你是否真的想問別的問題。也許關於託管bean的生命週期?
@FacesComponent(「fc/myFacesComponent」)生命期是Request Scope,我們不能改變它。
如果您想要,您可以在其中注入bean(Session)並獲取狀態並將其顯示給組件。
備份bean是JSF託管的bean或CDI Weld Bean。
謝謝, Roshan
不,這實際上我想知道。非常感謝。 – 2012-08-07 12:29:53
組件樹在渲染響應階段根本沒有第二次構建。 – BalusC 2012-08-07 13:39:03
當然,至少再一次,因爲視圖可能會在之前的階段和事件中發生變化。當然,當視圖ID改變時。檢查MyFace的org.apache.myfaces.lifecycle.RenderResponseExecutor.execute()。當視圖ID沒有改變時,在渲染階段甚至需要第二個buildView過程,因爲如果存在JSTL標籤(例如c)時樹可以改變:如果在視圖上或者使用動態包含(ui:include with EL expression at at SRC屬性)。 – Ingo 2012-08-07 14:15:46