2013-07-26 86 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

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