2012-10-30 98 views
1

我有兩個不同的帶有共享輔助bean的JSF2頁面。我如何從頁面傳遞一個參數到支持bean(在頁面加載 - 帶有@PostConstruct的方法),以便它知道當前正在使用哪個頁面。JSF2在加載頁面時將屬性傳遞給backing bean

我知道有可能使用<f:event>,比如preRenderView(如this),但它需要一個方法以及輔助bean中的一個字段。這可能是像f:attribute或f:param這樣的東西,而在後臺bean中沒有任何額外的方法?

+0

SEEL此鏈接,使用參數傳遞@PostConstruct http://stackoverflow.com/questions/4673844/how-can-i-send-a-parameter-to-be-used-in-the-postconstruct -method對的一背襯 –

回答

1

如果bean是請求作用域,只需將視圖ID作爲託管屬性#{view.viewId}

@ManagedProperty("#{view.viewId}") 
private String viewId; // +setter 

如果這個bean是視圖範圍,那麼直接獲取視圖ID UIViewRoot#viewId()

private String viewId; 

@PostConstruct 
public void init() { 
    viewId = FacesContext.getCurrentInstance().getViewRoot().getViewId(); 
    // ... 
} 
相關問題