我正在开发一个JSF 2.0应用程序。点击后,我在后端bean操作中执行一些逻辑,需要在新窗口中重定向到另一个URL,并在退出操作之前在我的原始bean操作中执行一些清理工作。我目前正在使用externalContext.redirect()方法以及“faces-redirect = true”(因为我有一些清理代码要在重定向发生后执行)。但是外部URL在同一窗口中打开。
我要求它在一个单独的新浏览器窗口中打开,同时执行重定向后的清理代码。能告诉我这是怎么做到的吗?
答案 0 :(得分:4)
您无法从服务器端打开新的浏览器窗口/选项卡。这只能从客户端进行。其中一种方法是将target="_blank"
属性添加到提交按钮所在的HTML表单中。
因此,在JSF术语中,那将是:
<h:form target="_blank">
这与支持bean代码所做的事情无关。它只是在服务器处理HTTP请求时同步运行。