我在项目前端使用JSF。 我怎样才能用支持bean打开一个新窗口?
答案 0 :(得分:6)
在target="_blank"
或<h:commandLink>
上设置<h:form>
。
E.g。
<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>
答案 1 :(得分:0)
除了BalusC的回答。 在以下情况下的一种hacky解决方案:
表单的目标无法更改
<!-- 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>