用hibernate实现分页显示,出现了错误,能分页,但不能点“下一页”跳转,是怎么回事?
代码:listAction.java:public ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PageBean pageBean = (PageBean)form;
int maxRowCount = ArticleDAO.getAllArticleLines().intValue();
pageBean.setMaxRowCount(maxRowCount);
pageBean.setMaxPage();
int cur = pageBean.getRowsPerPage();
int first = (pageBean.getCurPage() - 1) * cur;
request.setAttribute("who", "\u6240\u6709\u4E13\u9898");
java.util.List list = ArticleDAO.getSomeArticle(null, first, cur);
pageBean.setData(list);
String sort = request.getParameter("sort");
if(sort == null)
return mapping.findForward("success");
else
return mapping.findForward("false"); }PageBean.java:package com.news.struts.form;
import java.util.List;
import org.apache.struts.action.ActionForm;public class PageBean extends ActionForm
{ public PageBean()
{
curPage = 1;
rowsPerPage = 5;
} public int getCurPage()
{
return curPage;
} public void setCurPage(int curPage)
{
this.curPage = curPage;
} public int getMaxPage()
{
return maxPage;
} public void setMaxPage()
{
if(maxRowCount % rowsPerPage == 0)
maxPage = maxRowCount / rowsPerPage;
else
maxPage = maxRowCount / rowsPerPage + 1;
} public int getMaxRowCount()
{
return maxRowCount;
} public void setMaxRowCount(int maxRowCount)
{
this.maxRowCount = maxRowCount;
} public int getRowsPerPage()
{
return rowsPerPage;
} public void setRowsPerPage(int rowsPerPage)
{
this.rowsPerPage = rowsPerPage;
} public void setMaxPage(int maxPage)
{
this.maxPage = maxPage;
} public List getData()
{
return data;
} public void setData(List data)
{
this.data = data;
} private int curPage;
private int maxPage;
private int maxRowCount;
private int rowsPerPage;
private List data;
}DAO.java
public static synchronized Integer getAllArticleLines()
{
Integer count = Integer.valueOf(0);
Transaction tx = null;
try
{
Session session = HibernateUtil.getSessionFactory().openSession();
tx = session.beginTransaction();
count = (Integer)session.createQuery("select count(*) from Article").uniqueResult();
tx.commit();
session.close();
}
catch(HibernateException e)
{
e.printStackTrace();
tx.rollback();
}
return count;
}page.jsp:<%@ page language="java" pageEncoding="gb2312" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script language="JavaScript">
<!--
function Jumping(){
document.PageForm.submit();
return ;
}function gotoPage(pagenum){
document.PageForm.curPage.value = pagenum;
document.PageForm.submit();
return ;
}
-->
</script><style type="text/css">
<!--
body {
margin-top: 0px;
}
-->
</style><table width="98%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><center>共${pageBean.maxRowCount}个
当前第${pageBean.curPage}页
共${pageBean.maxPage}页
<c:choose>
<c:when test="${pageBean.curPage!=1}">
<a href="javascript:gotoPage(1)" alt="第一页" title="首页"><<</a>
<a href="javascript:gotoPage(${pageBean.curPage-1})" title="上一页">上一页</a>
</c:when>
</c:choose>
<c:if test="${(pageBean.curPage-4)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-4})">${pageBean.curPage-4}</a>
</c:if>
<c:if test="${(pageBean.curPage-3)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-3})">${pageBean.curPage-3}</a>
</c:if>
<c:if test="${(pageBean.curPage-2)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-2})">${pageBean.curPage-2}</a>
</c:if>
<c:if test="${(pageBean.curPage-1)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-1})">${pageBean.curPage-1}</a>
</c:if>
${pageBean.curPage}
<c:forEach var="i" begin="1" end="5">
<c:if test="${(pageBean.curPage+i)<=pageBean.maxPage}">
<a href="javascript:gotoPage(${pageBean.curPage+i})">${pageBean.curPage+i}</a>
</c:if>
</c:forEach>
<c:choose>
<c:when test="${pageBean.curPage!=pageBean.maxPage}">
<a href="javascript:gotoPage(${pageBean.curPage+1})" title="下一页">下一页</a>
<a href="javascript:gotoPage(${pageBean.maxPage})" title="末页">>></a>
</c:when>
</c:choose>
跳到第
<SELECT name="curPage" onchange="Jumping()">
<c:forEach var="i" begin="1" end="${pageBean.maxPage}" step="1">
<OPTION ${i==pageBean.curPage?"selected":""} value=${i}>${i}</OPTION>
</c:forEach>
</SELECT>
页 </center></td>
</tr>
</table>
<br />
在点击跳转的时候有脚本错误,提示Error:'document.PageForm.curPage' 为空或不是对象哪里出问题了,该怎么改?
代码:listAction.java:public ActionForward unspecified(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
PageBean pageBean = (PageBean)form;
int maxRowCount = ArticleDAO.getAllArticleLines().intValue();
pageBean.setMaxRowCount(maxRowCount);
pageBean.setMaxPage();
int cur = pageBean.getRowsPerPage();
int first = (pageBean.getCurPage() - 1) * cur;
request.setAttribute("who", "\u6240\u6709\u4E13\u9898");
java.util.List list = ArticleDAO.getSomeArticle(null, first, cur);
pageBean.setData(list);
String sort = request.getParameter("sort");
if(sort == null)
return mapping.findForward("success");
else
return mapping.findForward("false"); }PageBean.java:package com.news.struts.form;
import java.util.List;
import org.apache.struts.action.ActionForm;public class PageBean extends ActionForm
{ public PageBean()
{
curPage = 1;
rowsPerPage = 5;
} public int getCurPage()
{
return curPage;
} public void setCurPage(int curPage)
{
this.curPage = curPage;
} public int getMaxPage()
{
return maxPage;
} public void setMaxPage()
{
if(maxRowCount % rowsPerPage == 0)
maxPage = maxRowCount / rowsPerPage;
else
maxPage = maxRowCount / rowsPerPage + 1;
} public int getMaxRowCount()
{
return maxRowCount;
} public void setMaxRowCount(int maxRowCount)
{
this.maxRowCount = maxRowCount;
} public int getRowsPerPage()
{
return rowsPerPage;
} public void setRowsPerPage(int rowsPerPage)
{
this.rowsPerPage = rowsPerPage;
} public void setMaxPage(int maxPage)
{
this.maxPage = maxPage;
} public List getData()
{
return data;
} public void setData(List data)
{
this.data = data;
} private int curPage;
private int maxPage;
private int maxRowCount;
private int rowsPerPage;
private List data;
}DAO.java
public static synchronized Integer getAllArticleLines()
{
Integer count = Integer.valueOf(0);
Transaction tx = null;
try
{
Session session = HibernateUtil.getSessionFactory().openSession();
tx = session.beginTransaction();
count = (Integer)session.createQuery("select count(*) from Article").uniqueResult();
tx.commit();
session.close();
}
catch(HibernateException e)
{
e.printStackTrace();
tx.rollback();
}
return count;
}page.jsp:<%@ page language="java" pageEncoding="gb2312" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<script language="JavaScript">
<!--
function Jumping(){
document.PageForm.submit();
return ;
}function gotoPage(pagenum){
document.PageForm.curPage.value = pagenum;
document.PageForm.submit();
return ;
}
-->
</script><style type="text/css">
<!--
body {
margin-top: 0px;
}
-->
</style><table width="98%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td><center>共${pageBean.maxRowCount}个
当前第${pageBean.curPage}页
共${pageBean.maxPage}页
<c:choose>
<c:when test="${pageBean.curPage!=1}">
<a href="javascript:gotoPage(1)" alt="第一页" title="首页"><<</a>
<a href="javascript:gotoPage(${pageBean.curPage-1})" title="上一页">上一页</a>
</c:when>
</c:choose>
<c:if test="${(pageBean.curPage-4)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-4})">${pageBean.curPage-4}</a>
</c:if>
<c:if test="${(pageBean.curPage-3)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-3})">${pageBean.curPage-3}</a>
</c:if>
<c:if test="${(pageBean.curPage-2)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-2})">${pageBean.curPage-2}</a>
</c:if>
<c:if test="${(pageBean.curPage-1)>0}">
<a href="javascript:gotoPage(${pageBean.curPage-1})">${pageBean.curPage-1}</a>
</c:if>
${pageBean.curPage}
<c:forEach var="i" begin="1" end="5">
<c:if test="${(pageBean.curPage+i)<=pageBean.maxPage}">
<a href="javascript:gotoPage(${pageBean.curPage+i})">${pageBean.curPage+i}</a>
</c:if>
</c:forEach>
<c:choose>
<c:when test="${pageBean.curPage!=pageBean.maxPage}">
<a href="javascript:gotoPage(${pageBean.curPage+1})" title="下一页">下一页</a>
<a href="javascript:gotoPage(${pageBean.maxPage})" title="末页">>></a>
</c:when>
</c:choose>
跳到第
<SELECT name="curPage" onchange="Jumping()">
<c:forEach var="i" begin="1" end="${pageBean.maxPage}" step="1">
<OPTION ${i==pageBean.curPage?"selected":""} value=${i}>${i}</OPTION>
</c:forEach>
</SELECT>
页 </center></td>
</tr>
</table>
<br />
在点击跳转的时候有脚本错误,提示Error:'document.PageForm.curPage' 为空或不是对象哪里出问题了,该怎么改?
解决方案 »
- 无法通过IP访问局域网内的Tomcat服务器
- JS如何判断按钮被点击了
- JsP实现注册的时候向邮箱发送表单信息
- 超简单,帮忙将以下JavaScript代码实现的功能转换为java
- apache与tomcat整合
- javamail 发送邮件 Caused by: javax.mail.MessagingException: Unknown SMTP host: smtp.163.com
- 在上传时要将form表单设置为二进制的这样就得不到其他数据了怎么处理这个
- 这是什么意思?
- 大家对毫无准备下被突然裁掉如何看?
- 刚装上WEBLOGICAL,请问如何启动这个服务器?(在WIN98上安装)
- 请教:使用JAVA做web/Portal认证服务器
- alidator问题
function Jumping(){
document.PageForm.submit();
return ;
} function gotoPage(pagenum){
document.getElementById("curPage").value = pagenum;
document.PageForm.submit();
return ;
}