我有一个像"在选择目录时,我想从数据库中获取数据。其中一个目录是拥有非常庞大的数据(25000及以上记录。要从db获取这些记录并在前端显示我正在使用JSF dataTable标记"。如下所述。但这需要花费越来越多的时间。有时候页面也正在超时。任何人都可以帮助我。
enter code here
<h:column>
<f:facet name="header">
<h:outputText value="Sr.No." />
</f:facet>``
<h:outputText value=" #{PromoCodeDefinitionBean.table.rowIndex+1}" styleClass="blackboldSmall" />
</h:column>
<h:column rendered="#{PromoCodeDefinitionBean.except}">
<f:facet name="header">
<h:selectOneMenu id="useCountAll" onchange="changeValue();">
<h:outputText value="Use Count " />
<f:selectItem itemLabel="Count" itemValue=""/>
<f:selectItem itemLabel="1" itemValue="1"/>
<f:selectItem itemLabel="2" itemValue="2"/>
<f:selectItem itemLabel="3" itemValue="3"/>
<f:selectItem itemLabel="4" itemValue="4"/>
<f:selectItem itemLabel="5" itemValue="5"/>
</h:selectOneMenu>
</f:facet>
<h:inputText id="useCount" binding="#{PromoCodeDefinitionBean.userCount}" value="#{output.checkvalue}" size="2" styleClass="mandFieldClass"></h:inputText>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="User Name" />
</f:facet>
<h:outputText value=" #{output.userName}" styleClass="blackboldSmall" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Email" />
</f:facet>
<h:outputText value=" #{output.emailId}" styleClass="blackboldSmall" />
<h:inputHidden id="emailId" binding="#{PromoCodeDefinitionBean.email}" value="#{output.emailId}"></h:inputHidden>
</h:column>
<h:column rendered="#{PromoCodeDefinitionBean.except}">
<f:facet name="header">
<h:selectBooleanCheckbox id="BulkMovementAll" onclick="checkUncheckAll();" ><h:outputText value="Select All " />
<br></h:selectBooleanCheckbox>
</f:facet>
<h:selectBooleanCheckbox binding="#{PromoCodeDefinitionBean.checkedSelectedUser}" value="#{output.ischecked}" id="BulkMovement" onclick="test1(this.id)" />
<h:outputText id="checkboxvalue1" value="#{output.ischecked}" style="display: none; text-align:center;" />
</h:column>
</h:dataTable>
请帮助我改善显示逻辑。
提前致谢。
答案 0 :(得分:0)
你可以使用Paginator&amp;只能一次获取少量记录(例如10行)和提供用户选项以滚动页面。