2014-01-09 41 views
1
@ManagedBean(name="bean") 
@SessionScoped 
public class MyBean{ 

@PostConstruct 
public void postConstruct() 
{ 
System.out.println("Inside post Construct"); 
} 

public void beforePageLoad() 
{ 
System.Out.println("Called before pageload for session scoped bean!!!"); 
} 
} 


How can we call beforePageLoad method everytime before the page loads. 
+0

的PhaseListener ...? – noone

回答

2

你的頁面內:

<f:metadata> 
    <f:event type="preRenderView" listener="#{bean.listener}"/> 
</f:metadata> 
+0

如果我們有一個接口,它有一個方法prePageLoad(),如果我們所有的託管bean都實現了這個接口,那麼爲了調用這個方法,我們必須編寫像監聽器一樣的監聽器,因爲我們正在考慮在整個框架中使用這種方法,在頁面加載之前調用bean中的方法? – Ullas

+0

我不會綁定每個bean來執行這樣的操作。我會用一個或多個頁面創建一個帶有不同偵聽器方法的'PrePageLoadBean' –

+0

但我們是否會違反DRY原則......感謝您的答覆並幫助您提出了自己的想法.. – Ullas

相關問題