3

我正在开发一个 JSF 2.0 应用程序。单击 时,我在后端 bean 操作中执行了一些逻辑,需要在新窗口中重定向到另一个 URL,并在退出操作之前在我的原始 bean 操作中执行一些清理工作。我目前正在使用 externalContext.redirect() 方法和“faces-redirect=true”(因为在重定向发生后我有一些清理代码要执行)。但是外部 URL 正在同一个窗口中打开。

我会要求它在单独的新浏览器窗口中打开,同时执行重定向后的清理代码。你能告诉我这是怎么做到的吗?

4

1 回答 1

4

您无法从服务器端打开新的浏览器窗口/选项卡。这只能从客户端完成。其中一种方法是将target="_blank"属性添加到提交按钮所在的 HTML 表单中。

因此,在 JSF 术语中,这将是:

<h:form target="_blank">

这与支持 bean 代码所做的任何事情都无关。它只是在服务器处理 HTTP 请求时同步运行。

于 2013-09-05T19:57:28.927 回答