I do not understand why my loading method is not called in the lazydatamodel of the myfaces table. My xhtml page is as follows
<h:form id="myForm"> <p:dataTable value="#{myBean.configDataModel}" id="configTable" var="config" paginator="true" rows="10" selectionMode="single" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,20"> . . </h:form>
My Bean code is similar to this and exposes system.out.println instructions, but I noticed that it is not being called.
public class MyBean{ // private List<MyBean> configList; private LazyDataModel<MyBean> configDataModel; @SuppressWarnings("serial") public LazyDataModel<MyBean> getConfigDataModel() { if (configDataModel == null) { configDataModel = new LazyDataModel<MyBean>() { @Override public List<MyBean> load(int arg0, int arg1, String arg2, SortOrder arg3, Map<String, String> arg4) { System.out.println("Here!!!!!"); return null; } }; } return configDataModel; } public void setConfigDataModel(LazyDataModel<MyBean> configDataModel) { this.configDataModel = configDataModel; } }
What could be the reason?
source share