5

我将 JSF2.0 与 PrimeFaces3.1 和 Spring3.1 一起用于业务逻辑。我试图使用 DataTable-延迟加载。但它给了我以下错误。请帮忙。

发生错误:

/ by zero
- Stack Trace
java.lang.ArithmeticException: / by zero
at org.primefaces.model.LazyDataModel.setRowIndex(LazyDataModel.java:62)
at javax.faces.component.UIData.setRowIndex(UIData.java:448)
at javax.faces.component.UIData.visitColumnsAndRows(UIData.java:1544)
at javax.faces.component.UIData.visitTree(UIData.java:1212)

Please help.
4

3 回答 3

11

您必须覆盖方法setRowIndex

例子:

@Override
public void setRowIndex( int rowIndex ) {

   if ( rowIndex == -1 || getPageSize() == 0 ) {
    super.setRowIndex( -1 );
   } else
    super.setRowIndex( rowIndex % getPageSize() );
}
于 2012-10-03T17:47:35.753 回答
0

这个答案是Alfaville的答案的派生词,但是如果您碰巧pageSizeLazyDataTable后代中设置了一个名为的字段,则可能会导致同样的问题。我就是这种情况,直到我看到setRowIndex.

于 2015-03-02T19:44:49.833 回答