2010-03-30 76 views
2

我有一個JSF Web應用程序。我使用Beans作爲Spring Beans(不是JSF託管的bean)。現在我有一個URL到應用程序www.example.com?parameter=2JSF Spring Bean集屬性

我想在頁面加載時將此參數設置爲bean。我現在如何做到這一點與春季Web流,但與JSF導航我不能這樣做。

您對使用JSTL c:setjsp:setProperty有什麼看法?

感謝您的幫助。

親切的問候 塞巴斯蒂安

回答

1

here來自:

人們可以延伸一個彈簧org.springframework.beans.factory.config.PropertyPlaceholderConfigurer它訪問的RequestContext(org.springframework.web.context。 request.RequestContextHolder#getRequestAttributes())來解析bean中的$ {xyz}類屬性。 當然,這隻適用於具有「request」-scope的Spring bean。

如果Bean是會話範圍,你可以簡單地使用一個階段監聽器的方法如下:

property = FacesContezt.getCurrentInstance().getExternalContext 
     .getRequestMap().get("paramName"); 

相偵聽器,如果使用小面與

<f:view beforePhase="#{bean.method}"> 

定義,其beforePhaseListener

如果您使用的是faces-context.xml,您可以使用<managed-property>

+0

The Bean is in session scope :( Thanky you for your answer。 – Sebastian 2010-03-30 10:02:16

+0

哪種操作方法?我沒有任何操作方法。頁面通過url地址加載參數。用戶不做任何操作。頁面應顯示請求參數的基礎上的一些數據。 Im不使用faces-config.xml中用於定義管理豆。所有豆彈簧豆在應用程序上下文文件definden。 – Sebastian 2010-03-30 13:48:13

+0

@Sebastian,對不起,我添加了一個更新 – Bozho 2010-03-30 14:06:50