JSF 2.0 使用外部上下文以及 faces-redirect=true 打开一个新的浏览器窗口



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

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

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

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

<h:form target="_blank">

这与支持Bean代码正在做什么无关。它只是在服务器处理 HTTP 请求时同步运行。

最新更新