渲染时执行CommandButton

时间:2015-06-18 11:04:25

标签: jsf primefaces

问题:如何阻止网站渲染执行一段时间?

这就是我的Button所在的位置:

<p:dialog widgetVar="newComment" height="200" width="500">
    <h:form>
        <h:panelGrid>
            <h:outputText value="#{commentDialog.username}" />
            <h:inputTextarea id="in_text" value="#{commentDialog.text}" />
            <p:message for="in_text" />
        </h:panelGrid>
        <p:commandButton validateClient="true" value="Abschicken" ajax="true"
            actionListener="#{popupRequestView.update}" action="PF('newComment').hide();update_popup();" />
    </h:form>
</p:dialog>

2 个答案:

答案 0 :(得分:2)

|script |json http test | |get from|http://localhost/data/1234 | |show |response | |check |json path |$.Data[0].Id |1| |note |or assign to symbols | |$body= |response | |$id= |json path |$.Data[0].Id | 属性意图在点击时执行支持bean操作方法,而不是打印一些JavaScript代码(当然会立即执行

您可能打算使用actiononclick代替。与基本HTML一样,这些oncomplete属性用于在指定的HTML事件期间执行某些JavaScript代码(&#34;单击&#34;,&#34;完成&#34;等)。

on*

到目前为止提供的信息中不可见的另一个原因是您忘记注册oncomplete="PF('newComment').hide();update_popup();" XML命名空间。然后会打印任何p:标记,就好像它是纯文本一样。验证标记中某处的父元素是否包含:

<p:xxx>

无论如何,暂停JSF并学习一些基本的HTML / JavaScript并不是一个好主意。毕竟,JSF只是&#34;只是&#34;一个HTML / CSS / JS代码生成器。

答案 1 :(得分:0)

你必须使用primefaces ajaxStatus来防止在渲染时点击按钮并执行ajax

ajaxStatus in primefaces showcase