JSF onclick刷新页面


<h:commandButton  onclick="window.open('/page.html')" value="test" action="#{bean.myAction}"></h:commandButton>

当我在上面点击后,浏览器出现刷新页面并滚动到顶部。

如果我使用"return false;"操作永远不会运行。

我怎样才能阻止这种情况的发生?

不确定为什么要使用"window.open('/page.html')",但如果您想在操作命令完成后打开页面,则执行以下操作

<h:commandButton value="test" action="#{bean.myAction}">
    <f:ajax onevent="function(data){ if(data.status === 'success') window.open('/page.html')}"/>
</h:commandButton>
<h:commandButton onclick="window.open('/page.html')" value="test" action="#{bean.myAction}">
    <f:ajax execute="@this" render="@none" />
</h:commandButton>

不需要PrimeFaces也可以;)

它确实刷新了页面,为什么不呢?h:commandButton作为一个简单的表单提交。您需要ajax调用来不重新加载整个页面。

你可以看看,例如,primefaces组件库,它已经准备好使用完全支持ajax调用的组件-参见<p:commandButton>

对于return false,如果您在onclick中使用它,它将不会运行动作,因为它会阻止表单提交,因此,简化为"不经过bean"。

相关内容

  • 没有找到相关文章

最新更新