【问题标题】:Primefaces Datalist PaginationPrimefaces 数据列表分页
【发布时间】:2012-04-21 17:53:46
【问题描述】:

我正在使用带有 Ajax 分页的数据列表,第一页加载良好,显示 5 个结果。它知道我有 3 页的结果,但是当我点击到第二/第三页时,我得到一个空列表。

我的模型扩展了 LazyDataModel,第一次加载页面时,我可以在 load() 方法上设置断点,我可以看到它要求结果 1-5,这很棒。但是单击“第 2 页”不会导致再次调用 load 方法(尽管它确实会导致大约 3 次调用我的lazyDataModel 字段本身(只是不是其中的 load 方法)。

对此很陌生,尽管阅读了很多书并尝试了各种东西,但我还是不太明白它应该如何工作。展示示例对我来说似乎并不“完整”。

这是我的代码中最相关的部分(我认为)。对格式感到抱歉:

@PostConstruct
public void LoadData() {
  lazyModel = new LazyDataModel<MessageboardThread>() {

  @Override
  public List<MessageboardThread> load(int first, int pageSize, String sortField, SortOrder so, Map<String, String> map) {
    List<MessageboardThread> result = new ArrayList<MessageboardThread>();

    try {
        result = mbDao.findAll(pageSize, first);
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return result;
  }
};
getLazyModel().setRowCount(mbDao.count());
getLazyModel().setPageSize(pageSize);
}    

每次点击下一页/上一页时都会执行此方法 /** * @return 惰性模型 */ 公共惰性数据模型 getLazyModel() { 返回惰性模型; }

这是我的 xhtml 文件

          <p:dataList value="#{messageboardBean.lazyModel}" var="thread" id="threads"  
                paginator="true" rows="5" effectSpeed="fast"  
                paginatorTemplate="{PreviousPageLink} {CurrentPageReport} {NextPageLink} {RowsPerPageDropdown}"  
                rowsPerPageTemplate="5,10,15" type="none"
                paginatorPosition="bottom">  

                    <f:facet name="header">  
                        Conversations 
                    </f:facet>  

                    <p:column>  
                        <h:outputText value="#{thread.title}" style="margin-left:10px" />  
                        <br />  
                    </p:column>  
            </p:dataList> 

非常感谢任何帮助

PS 我在那里放了一个@PostContruct 注释,因为它似乎是进行设置的好地方,但它可能是错误的,我没有在任何其他示例中看到它,但是我无法获得任何其他示例也可以工作。

【问题讨论】:

    标签: jsf-2 primefaces


    【解决方案1】:

    解决了。我忘记将 dataList 属性包装在 h:form 标记中。现在可以正常使用了。

    【讨论】:

    • 将您的解决方案标记为已接受,以便在浏览问题时减少混乱。
    猜你喜欢
    • 2013-08-28
    • 2014-05-19
    • 1970-01-01
    • 2012-12-05
    • 2016-05-07
    • 2019-07-13
    • 1970-01-01
    • 2015-07-19
    • 2016-12-30
    相关资源
    最近更新 更多