Богатый - PullRequest
       51

Богатый

1 голос
/ 24 октября 2011

У меня есть вход с <rich:suggestionBox>. Это работает очень хорошо с suggestionAction в бобе. Но я хочу вместо этого реализовать suggestionAction в JavaScript.

Вот код моего <rich:suggestionBox>:

<h:inputText id="etabinput" />
<rich:suggestionbox height="200" width="200"
    suggestionAction="#{etablissementList.autoComplete}" var="etab" 
    for="etabinput" fetchValue="#{etab.id}    #{etab.nom}" id="suggestion" tokens=",">
    <h:column>
        <h:outputText value="#{etab.type}" />
    </h:column>
    <h:column>
        <h:outputText value="#{etab.localite}" />
    </h:column>
    <a:support ajaxSingle="true" event="onselect">
        <f:setPropertyActionListener value="#{etab}" target="#{offreHome.instance.etablissement}"/>
    </a:support>
</rich:suggestionbox>

А вот метод suggestionAction() в моем бине:

public List<Etablissement> autoComplete(Object o) {
    String sql =  this.getEjbql() + " where lower(etablissement.localite) like concat(lower('"+o.toString()+"'),'%')";
    return this.getEntityManager().createQuery(sql).getResultList();   
}

Есть ли способ вызвать метод из JavaScript, не вызывая сервер каждый раз?

...