JSF ajax事件延迟

Xtr*_*ica 4 jsf jsf-2

我想为JSF 2的列表实现一个实时过滤器,但是当使用keyup事件时,很多请求都被发送到服务器.代码如下:

<h:inputText id="filter_input" value="#{bean.filterText}">
    <f:ajax event="keyup" listener="#{bean.filter}" 
        render="@form:list" execute="@this" />
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

Xtr*_*ica 9

f:ajax从JSF 2.2开始增加了对ajax事件延迟的支持.只需将其作为属性包含在其中,其值以毫秒为单位:

<f:ajax event="keyup" delay="1000" listener="#{someBean.doSomething}"
    render="somefield" execute="@this" />
Run Code Online (Sandbox Code Playgroud)

也可以看看: