我正在使用带有PrimeFaces3.1的JSF2.0和用于业务逻辑的Spring3.1。我正在尝试使用DataTable-Lazy加载。但它给了我以下错误。请帮助。
发生错误:
/ 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.
答案 0 :(得分:10)
您必须覆盖方法 setRowIndex
示例:
@Override
public void setRowIndex( int rowIndex ) {
if ( rowIndex == -1 || getPageSize() == 0 ) {
super.setRowIndex( -1 );
} else
super.setRowIndex( rowIndex % getPageSize() );
}
答案 1 :(得分:6)
它似乎是一个知道问题
datatable: java.lang.ArithmeticException: / by zero
Issue 1544: LazyDataTable.setRowIndex throws arithmetic exception: division by 0.
答案 2 :(得分:0)
这个答案是Alfaville的回答的衍生产品,但如果您恰好在pageSize
后代设置了一个名为LazyDataTable
的字段,则可能会导致同样的问题。这就是我的情况,直到我看到覆盖setRowIndex
之后我才发现问题。