JSF1.2向重定向请求添加参数

JSF1.2向重定向请求添加参数,jsf,jsf-1.2,Jsf,Jsf 1.2,我使用Jsf 1.2并使用带有重定向的导航规则,我的问题是如何添加请求参数以查看重定向的在Jsf 1.x中使用导航规则是不可能的。改用ExternalContext#redirect() public void action() throws IOException { // ... ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext(); String url = ec.g

我使用Jsf 1.2并使用带有重定向的导航规则,我的问题是如何添加请求参数以查看重定向的

在Jsf 1.x中使用导航规则是不可能的。改用
ExternalContext#redirect()

public void action() throws IOException {
    // ...

    ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
    String url = ec.getRequestContextPath() + "/page.jsf?someparam=" + URLEncoder.encode(someparam, "UTF-8");
    ec.redirect(url);
}

这看起来很有用:@Omar,自JSF2以来一直有效。OP的问题是针对JSF 1.2的。谢谢,我在JSF 2中看到了解决方案,但我不知道是否存在与JSSF 1.2类似的功能。除了在url中添加一个新的参数作为字符串,我可以通过API以编程方式添加查询参数key&value吗?@user2918640:可以。JSF只提供公共URL构建器API。JSF实用程序库OmniFaces有一个方便的
Faces#redirect()
方法,可以自动为上下文路径和URL编码参数设置前缀?复制OmniFaces源?我想安全地将参数添加到可能已经包含参数的url。OmniFaces不是组件库。它是一个实用程序库,可以与任何组件库一起使用。更重要的是,OmniFaces showcase应用程序使用PrimeFaces。