vr3*_*3c9 11 jsf http-post new-window commandbutton
我需要通过POST点击a在新窗口中打开一个JSF页面<h:commandButton>.我知道我可以使用JavaScript实现这一点.但我想使用JSF而不是JavaScript来实现这个目标.
我怎样才能做到这一点?我正在使用JSF 2.0.
Bal*_*usC 31
唯一的非JS方式是target="_blank"在父级中设置<h:form>.
<h:form target="_blank">
...
<h:commandButton value="Open in new Window" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
然而,这会影响以非常相同的形式执行的所有非ajax(!)动作.因此,如果你很聪明,那就不要在新窗口中打开ajax动作.但是,ajax也是JavaScript,你提到你不想使用JS(我希望你一旦发现PrimeFaces实际上充满了JavaScript就不会感到震惊).
如果你绝对需要将它限制为一个动作,那么你真的不能四处寻求JavaScript的帮助.
<h:form>
...
<h:commandButton value="Open in new Window" onclick="this.form.target='_blank'" />
</h:form>
Run Code Online (Sandbox Code Playgroud)
小智 5
当您将目标限制为单个操作时,您可能希望表单处于其初始状态。通过 oncklick 操作,您可以将表单的目标设置为 _blan 页面。单击后,页面在新选项卡/页面中打开(触发操作事件)。最后,触发 onblur 动作并将表单再次设置为初始状态(其余按钮将在 _self 页面中打开) 使用此代码,您可以限制为仅 ah:commandbutton 在新页面中打开。其余按钮将在 self 页面中打开:
<h:commandButton
onclick="this.form.target='_blank'"
onblur="this.form.target='_self'"
id="listadoRebuts"
action="#{giaquaBusquedaCorte.abrirListadoRebuts}"
value="#{msg.seqVisorbtnRecibos}">
</h:commandButton>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37261 次 |
| 最近记录: |