分页标签遭遇 "java.lang.ArithmeticException: / by zero"

本文介绍了一个使用JSF进行前台展示的项目中遇到的分页异常问题,并提供了解决方案,即通过为x:dataTable标签增加rows属性来避免除以零错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期在做一个利用jsf前台展示的项目,使用了x:dataTable展示数据,使用x:dataScroller来分页,运行时却遭遇了如下的exception:
class java.lang.ArithmeticException:/ by zero
java.lang.ArithmeticException: / by zero
	at org.apache.myfaces.custom.datascroller.HtmlDataScroller.getPageIndex()I(HtmlDataScroller.java:228)
	at org.apache.myfaces.custom.datascroller.HtmlDataScrollerRenderer.setVariables(Ljavax.faces.context.FacesContext;Lorg.apache.myfaces.custom.datascroller.HtmlDataScroller;)V(HtmlDataScrollerRenderer.java:103)
	at org.apache.myfaces.custom.datascroller.HtmlDataScrollerRenderer.encodeBegin(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(HtmlDataScrollerRenderer.java:215)
	at javax.faces.component.UIComponentBase.encodeBegin(Ljavax.faces.context.FacesContext;)V(UIComponentBase.java:307)
	at org.apache.myfaces.renderkit.RendererUtils.renderChild(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:441)
	at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.renderChildren(Ljavax.faces.context.FacesContext;Ljavax.faces.context.ResponseWriter;Ljavax.faces.component.UIComponent;I)V(HtmlGridRendererBase.java:203)
	at org.apache.myfaces.renderkit.html.HtmlGridRendererBase.encodeEnd(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(HtmlGridRendererBase.java:85)
	at javax.faces.component.UIComponentBase.encodeEnd(Ljavax.faces.context.FacesContext;)V(UIComponentBase.java:331)
	at org.apache.myfaces.renderkit.RendererUtils.renderChild(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:450)
	at org.apache.myfaces.renderkit.RendererUtils.renderChildren(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:427)
	at org.apache.myfaces.renderkit.RendererUtils.renderChild(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:448)
	at org.apache.myfaces.renderkit.RendererUtils.renderChildren(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:427)
	at org.apache.myfaces.renderkit.RendererUtils.renderChild(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(RendererUtils.java:448)
	at cn.ccb.tag.panelgrid.HtmlGridRenderer.renderChildren(Ljavax.faces.context.FacesContext;Ljavax.faces.context.ResponseWriter;Ljavax.faces.component.UIComponent;I)V(HtmlGridRenderer.java:263)
	at cn.ccb.tag.panelgrid.HtmlGridRenderer.encodeEnd(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIComponent;)V(HtmlGridRenderer.java:87)
	at javax.faces.component.UIComponentBase.encodeEnd(Ljavax.faces.context.FacesContext;)V(UIComponentBase.java:331)
	at javax.faces.webapp.UIComponentTag.encodeEnd()V(UIComponentTag.java:349)
	at javax.faces.webapp.UIComponentTag.doEndTag()I(UIComponentTag.java:253)
	at org.apache.myfaces.taglib.UIComponentBodyTagBase.doEndTag()I(UIComponentBodyTagBase.java:55)
	at jsp_servlet._page._public.__template1._jspService(Ljavax.servlet.http.HttpServletRequest;Ljavax.servlet.http.HttpServletResponse;)V(__template1.java:405)
	at weblogic.servlet.jsp.JspBase.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(JspBase.java:33)
	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:1006)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:419)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(ServletStubImpl.java:315)
	at weblogic.servlet.internal.RequestDispatcherImpl.forward(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(RequestDispatcherImpl.java:328)
	at org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(Ljava.lang.String;)V(ServletExternalContextImpl.java:415)
	at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.dispatch(Ljavax.faces.context.ExternalContext;Ljavax.faces.component.UIViewRoot;Ljava.lang.String;)V(JspTilesViewHandlerImpl.java:233)
	at org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(Ljavax.faces.context.FacesContext;Ljavax.faces.component.UIViewRoot;)V(JspTilesViewHandlerImpl.java:219)
	at org.apache.myfaces.lifecycle.LifecycleImpl.render(Ljavax.faces.context.FacesContext;)V(LifecycleImpl.java:352)
	at javax.faces.webapp.FacesServlet.service(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;)V(FacesServlet.java:107)
	at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run()Ljava.lang.Object;(ServletStubImpl.java:1006)
	at weblogic.servlet.internal.ServletStubImpl.invokeServlet(Ljavax.servlet.ServletRequest;Ljavax.servlet.ServletResponse;Lweblogic.servlet.internal.FilterChainImpl;)V(ServletStubImpl.java:419)
》》》》》页面代码 》》》》》》》》》》》》》》》》》》

<x:dataTable value="#{exworkflowlistbb.runningworkflowlist}"
  var="workflowlist" id="data" width="95%" >
    <h:column>

。。。。。。。

   </h:column>
 </x:dataTable>

<h:panelGrid columns="1" styleClass="scrollerTable2"
  columnClasses="standardTable_ColumnCentered" align="left">
  <x:dataScroller id="scroll_1" for="data" fastStep="10"
   pageCountVar="pageCount" pageIndexVar="pageIndex"
   styleClass="scroller" paginator="true" paginatorMaxPages="9"
   paginatorTableClass="paginator"
   paginatorActiveColumnStyle="font-weight:bold;">

。。。。。。。。

</x:dataScroller>

几经折腾,总算在网上找到解决方法
为x:dataTable标签增加属性“rows”,虽然不是必须的一个属性,但是在这里增加该属性可以解决问题:)

                
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值