2013-07-26 24 views
17

我相信有兩種方法可以從JSF中的URL獲取參數。在bean如何從JSF中的URL正確獲取參數?

之一是:

Map<String, String> params =FacesContext.getCurrentInstance(). 
        getExternalContext().getRequestParameterMap(); 
String parameterOne = params.get("parameterOne"); 

,另一個在Facelets頁面

<f:metadata> 
    <f:viewParam name="parameterOne" value="#{bean.parameterOne}"/> 
</f:metadata> 

顯然它是後者,需要在課堂上和getter場/ setter方法。

除此之外,這些是什麼2種不同方法之間的差異?哪一個應該是首選?

+0

整齊漂亮文章的''一個http://jdevelopment.nl/stateless缺點-stateful的JSF視圖參數/ – Andy

+0

@Andy:這是由OmniFaces''解決(如從你的文章鏈接有非常相同的作者)。 – BalusC

+1

@BalusC是的,其實我是在你的[博客條目]的一個發現這個(http://balusc.blogspot.com/2012/03/stateless-view-parameter.html)。我認爲OP可能會喜歡。哎呀,我幾個小時前就知道了這件事。 – Andy

回答

25

我想這可能幫助: Get Request and Session Parameters and Attributes from JSF pages

其實,應該有一個查詢:

<h:outputText value="#{param['id']}" /> 
+0

我認爲這個問題是「如何在我的視圖中獲取URL參數,而不在視圖中添加方法?」 –

+0

此外,還可以使用'的'要更友好的語法。 –