2013-10-25 50 views
0

我使用JSF 1.2,并与重定向的导航规则,我的问题是如何添加请求参数来查看重定向JSF 1.2添加参数来重定向请求

+1

这个貌似有用:http://stackoverflow.com/questions/3605238/how-do-you-pass-view-parameters-when-navigating-from-an-action-in-jsf2 – Omar

+2

@奥马尔自JSF 2以来的作品.OP的问题是JSF 1.2。 –

+0

谢谢,我看到JSF 2中的solucion,但我不知道是否存在与JSSF 1.2相似的功能 – jrey

回答

1

这是不可能的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); 
} 
+0

我可以通过API以编程方式添加查询参数键和值,而不是将新的param作为字符串附加到url中吗? – user2918640

+1

@ user2918640:你可以。 JSF仅提供公共URL构建器API。 JSF实用程序库OmniFaces有一个方便的'Faces#redirect()'方法,可以自动预置上下文路径和URL编码参数。 – BalusC

+0

但我如何在primefaces中做到这一点?复制OmniFaces源代码?我想安全地将params添加到可能已经包含参数的url中。 – user2918640