5

ビジネスロジックにPrimeFaces3.1およびSpring3.1でJSF2.0を使用しています.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の回答から派生したものですが、たまたま子孫に名前付きフィールドを設定した場合、同じ問題が発生する可能性がありpageSizeます。LazyDataTableこれは私の場合で、のオーバーライドを見るまで問題はわかりませんでしたsetRowIndex

于 2015-03-02T19:44:49.833 に答える