有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Primefaces在selectBooleanCheckbox中的onclick和oncomplete事件

我有一个primefaces的selectBooleanCheckbox,它执行一个激活过程,这个过程可能会延迟,我想在启动(onclick)到java过程完成(oncomplete)的同时添加一个进度条或加载图像

我最初的想法如下:

<p:selectBooleanCheckbox value="#{name}" id="check" onclick="PF('progressBar').show()" oncomplete="PF('progressBar').hide(),>
    <p:ajax update=":form,:progressBar"
            listener="#{bean.activate}"                                 
            process="@form" />                                                                  
</p:selectBooleanCheckbox>

但是我已经看到p:selectBooleanCheckbox不像其他primefaces组件那样具有onclickoncomplete事件,只有onchange事件,因此它对我不起作用

对于这种情况,什么是有效的选择? 我想到的另一种选择是在进程前后从我的JavaBean运行primefaces脚本。 我放弃的另一个选项是JSF selectBooleanCheckbox,因为它有onclick属性,但没有oncomplete属性


共 (1) 个答案

  1. # 1 楼答案

    这是一个更好的解决方案,只使用Javascript,不使用Java,而是使用JSF AJAX方式

    这是OP的初衷,但没有意识到需要将“on”方法放在AJAX调用上,而不是组件本身上

    <p:selectBooleanCheckbox value="#{name}" id="check">
        <p:ajax update=":form,:progressBar"
                listener="#{bean.activate}"                                 
                process="@form" 
                onstart="PF('progressBar').show()"
                oncomplete="PF('progressBar').hide()" />                                                                  
    </p:selectBooleanCheckbox>