【问题标题】:Decrease load time for data table page containing more than 500 transactions减少包含超过 500 个事务的数据表页面的加载时间
【发布时间】:2012-10-09 03:28:49
【问题描述】:
  1. 有没有办法仅通过使用数据表来减少 IE 中页面的加载时间。
  2. 如果我们使用服务器端的分页和排序,我们是否也可以在服务器端进行快速搜索,并且只呈现特定的选项卡而不是整个页面。

    <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>

监听器被调用,但页面没有更新以显示点击的下一页。

【问题讨论】:

    标签: jquery jsf-2 tabs datatables


    【解决方案1】:

    有没有办法只使用数据表来减少 IE 中页面的加载时间。

    没有。

    至少,不是没有用更健全的网络浏览器替换 IE。众所周知,IE 的 HTML &lt;table&gt; 渲染器很差。这是客户端问题,而不是服务器 (JSF) 问题。您可以通过测量网络流量速度和浏览器 HTML 渲染速度来确认这一点。


    如果我们使用服务器端的分页和排序,我们是否也可以在服务器端进行快速搜索,并且只呈现特定的选项卡而不是整个页面。

    只需在服务器端执行搜索(通过 ajax)。

    我建议查看 JSF 组件库,而不是抓住松散的 jQuery 插件并将松散的脚本拼凑在一起。例如,PrimeFaces 有一个可延迟加载的 &lt;p:dataTable&gt;,它只用干净的 XHTML 和 JPA 就可以解决您的所有问题。另见the lazy &lt;p:dataTable&gt; showcase exampleEfficient JSF Pagination

    【讨论】:

    • 感谢您的快速回复。在我们的项目中,我们仅使用 Mojarra JSF。我已经更新了与数据表的 ajax 调用相关的问题。 ajax 调用后页面没有更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 1970-01-01
    • 2014-09-19
    相关资源
    最近更新 更多