Я не знаю, как фильтровать таблицу с помощью ajax.Веб-приложение отображает пользовательскую таблицу.Фильтрация должна выполняться по имени и фамилии.
Это моя база данных с образцами записей.
public SessionBean() {
this.persons = new ArrayList<>();
persons.add(new Person(1,"Joe","Doe","City","111222333","family"));
persons.add(new Person(2,"Mary", "Moe", "City", "222333444", "friend"));
filteredPersons = persons;
}
private ArrayList<Person> filteredPersons;
private ArrayList<Person> persons;
И это мое (частичное) представление: (оно выглядит аналогично для других атрибутов (фамилия,электронная почта, номер телефона и т. д.))
<h:form>
<h:dataTable value="#{sessionBean.filteredPersons}" var="item"
id="tabela">
<h:column id="NameColumn">
<f:facet name="header">
<h:inputText id="searchName" >
<f:ajax listener= "#{sessionBean.ajaxEventName()}" />
</h:inputText> <br/>
<h:commandLink action="#
{orderBean.sortByOrderImie(sessionBean.filteredPersons)}">
Name
</h:commandLink>
</f:facet>
#{item.name}
</h:column>
Я думаю, что я должен написать метод вместо
//<f:ajax listener= "#{sessionBean.ajaxEventName()}" />
, который каким-то образом фильтрует таблицы после ввода, например, "joe". Я сделал алфавитную сортировку по имении фамилия, но я не знаю, как реализовать фильтрацию в ajax