java - JSF带参数重定向到其他页面

标签 java jsf

我正在重定向到另一个页面:

String uri = "../test/planOutput.jsf?job_id=121250";
FacesContext.getCurrentInstance().getExternalContext().dispatch(uri);

它可以工作,但 URL 没有改变, 我必须看到带有参数的新 URL。

解决办法是什么?

最佳答案

您根本没有将请求重定向到不同的目标。您正在将请求分派(dispatch)到不同的来源。使用ExternalContext#redirect()而不是ExternalContext#dispatch() .

FacesContext.getCurrentInstance().getExternalContext().redirect(uri);

重定向基本上指示网络浏览器在给定的 URL 上触发新的 HTTP 请求。这也是您看到 URL 更改反射(reflect)在网络浏览器地址栏中的原因。调度基本上指示网络服务器为当前请求/响应使用不同的源。由于这是在内部发生的并且不会以新的 HTTP 请求结束,因此网络浏览器对更改一无所知,并且地址栏不会更改。

关于java - JSF带参数重定向到其他页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5340051/

相关文章:

java - 如何从 jQuery 或 JavaScript 访问 JSF 的 SelectItem

java - 访问 JSF 2.0 中的 bean 属性

java - JSF 值表达式和 bean,它们如何工作?

java - System.nanoTime 有什么问题?

java - 无法通过模型属性名称与表单属性名称相同的 GET 方法打开 JSP 表单页面

java - 我无法启动这个 sqlite 选择代码

java - 将 MyFaces CODI 与 JBoss 7 结合使用

eclipse - EL 验证 - 如何在 Eclipse 中检测来自 JSF xhtml 的无效 EL?

java - Eclipse:java.lang.RuntimeException:在注册表中找不到应用程序 “org.eclipse.ui.ide.workbench”

Java序列化不同的Java版本