如果我们使用服务器端分页和排序,我们是否也可以在服务器端进行快速搜索,并且只渲染该特定选项卡而不是整个页面。
<h:panelGroup id="transactionsPanel">
<h:dataTable>
</h:dataTable>
<ui:repeat value="#{backing.pages}" var="page" varStatus="current">
<h:commandLink value="#{page}" actionListener="#{backing.page}"
rendered="#{page != backing.currentPage}" >
<f:ajax render="transactionsPanel"/>
</h:commandLink>
<ui:repeat>
</h:panelGroup>
调用侦听器,但页面未更新以显示单击的下一页。
答案 0 :(得分:1)
有没有办法通过使用数据表来减少IE中页面的加载时间。
没有。
至少,不是没有用更理智的webbrowser替换IE。众所周知,IE具有较差的HTML <table>
渲染器。这是客户端问题,而不是服务器(JSF)问题。您可以通过测量网络流量速度和浏览器HTML呈现速度来确认这一点。
如果我们使用服务器端分页和排序,我们是否也可以在服务器端进行快速搜索,并且只渲染该特定选项卡而不是整个页面。
也可以在服务器端执行搜索(通过ajax)。
我建议查看JSF组件库,而不是抓住松散的jQuery插件并将松散的脚本拼凑在一起。例如,PrimeFaces具有可加载的延迟<p:dataTable>
,它可以解决您只需清理XHTML和JPA的所有问题。另请参阅the lazy <p:dataTable>
showcase example和Efficient JSF Pagination。