displaytag无法实现分页
不知道为什么只要点击下一页就会报错。报的错误是
org.apache.jasper.JasperException: fromIndex = -20
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IndexOutOfBoundsException: fromIndex = -20
java.util.SubList. <init> (AbstractList.java:703)
java.util.RandomAccessSubList. <init> (AbstractList.java:861)
java.util.AbstractList.subList(AbstractList.java:570)
org.displaytag.pagination.SmartListHelper.getListForPage(SmartListHelper.java:219)
org.displaytag.pagination.SmartListHelper.getListForCurrentPage(SmartListHelper.java:200)
org.displaytag.tags.TableTag.setupViewableData(TableTag.java:1525)
org.displaytag.tags.TableTag.doEndTag(TableTag.java:1198)
org.apache.jsp.show_jsp._jspx_meth_display_table_0(show_jsp.java:158)
org.apache.jsp.show_jsp._jspService(show_jsp.java:99)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
我的jsp页面显示很简单。应该没有错误。
后台传递的list是用hibernate做的。不知道是不是这的错误。
String hql= "from Gebiao as g ";
Query q=HibernateSessionFactory.getSession().createQuery(hql);
List list=q.list();
request.setAttribute( "show ", list);
request.getRequestDispatcher( "/show.jsp ").forward(request,response) ;
------解决方案--------------------这是我第三次看同一个问题了
java.lang.
IndexOutOfBoundsException 报错是就是list越界了
检查下你的LIST吧不用标签用跌代看下里面数据
------解决方案--------------------你得确定你的List对象是VO还是PO,一般来说,如果你没在使用OpenSession in view那么应该是VO,VO是不会有问题。而且你检查你的分页action,看看调用的连接有什么参数没有带?也就是说和你直接调用的代码有没有不一致?
------解决方案--------------------你的list中有错误,传递过来