在托管bean中获取查询字符串参数

时间:2015-05-19 14:25:06

标签: jsf query-string

我在JSF / PrimeFaces中获取URL参数时遇到了麻烦。

对于我的所有页面都可以正常工作,除了我无法获得URL参数的页面

我的网址就像这样

/path/to/my/page?id=99

我的bean类附带了

@Named
@ViewRequest

我在@PostConstruct方法

中这样做
Map<String, String> params = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
String id = params.get("id");

但是参数不包含id

我没有在参数Map中使用URL参数名称,而是有其他值,例如

[0]javax.faces.partial.render=...
[1]javax.faces.partial.execute=...
[2]j_idt20=...
[3]javax.faces.ViewState=...

有人对这个问题有所了解吗?

由于

1 个答案:

答案 0 :(得分:1)

在您的JSF页面中,您可以处理与

类似的参数

page.xhtml

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

@Named
@ViewScoped
public class Bean implements Serializable {

    private String id;

    // getter and setter
}