我正在为我的项目前端使用 JSF。我怎样才能用backing bean打开一个新窗口?
问问题
10625 次
2 回答
6
设置target="_blank"
在<h:commandLink>
或上<h:form>
。
例如
<h:form>
<h:commandLink value="Open in new window" action="#{bean.action}" target="_blank" />
</h:form>
或者
<h:form target="_blank">
<h:commandButton value="Open in new window" action="#{bean.action}" />
</h:form>
于 2012-04-18T13:25:57.080 回答
0
除了 BalusC 的答案。在以下情况下的一种hacky解决方案:
- commandLink 不能在 UI 中使用(由于页面样式或任何其他原因)
表单的目标无法更改
<!-- Group and render them together.--> <h:panelGroup rendered="#{mybean.showButton}"> <!-- Visible and clickable commandButton. No action, just onclick js event.--> <h:commandButton value="My Commandbutton" onclick="document.getElementById('myForm.realTargetBlankLink').click();"/> <!-- Invisible link. Action, target _blank.--> <h:commandLink id="realTargetBlankLink" action="#{myBean.myDesiredAction}" target="_blank"/> </h:panelGroup>
于 2013-09-05T14:01:00.613 回答