分页问题

smalldear 2011-01-18 10:25:28
小弟是java新手最近做了一个通讯簿的小例子基于s1sh,其中要有分页功能,开始时用的struts的pager标签做的分页 结果做完后真的好用,但是发现了问题就是点击上一页或下一页时点几次项目就不动 通过控制台输出发现在点击某个操作的时候仍然会进入action 但是不会执行分页的方法了 比较纠结,询问他人,有人告诉我说是我的分页效率有问题让我换种方法,我又在网上找了种别的方法扒下来了,现在这个分页的方法做完了也好用,但是却出现了和上次一样的问题,我想可能不会是分页的效率问题,但是知识有限却想不明白哪里出了问题,特来这里求教,,,
...全文
188 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
waitdream 2011-01-19
  • 打赏
  • 举报
回复
这个问题我朋友以前也遇到过,你换个Tomcat版本试试看可以不可以~
smalldear 2011-01-19
  • 打赏
  • 举报
回复
纠结 弄个别的版本的tomcat也这么费劲 算了回家去下吧 公司的网速真是,,,,, 小弟第一次发帖,结贴的时候是不是点结贴就行了?
xtfmtjf 2011-01-19
  • 打赏
  • 举报
回复
必须用hibernate实现么,也可以SQL直接实现
lianpengchong 2011-01-19
  • 打赏
  • 举报
回复
我以前碰到的是tomcat的版本问题是··
smalldear 2011-01-19
  • 打赏
  • 举报
回复
嗯 ok 又问了下老师 老师也没有具体的办法 说没有看到代码说不清楚 呵呵 教我用hibernate的分页试试 正在尝试
smalldear 2011-01-18
  • 打赏
  • 举报
回复
谢谢五楼的方法 不过还是不行 一会我将代码贴出来 希望大家能帮看看
waitdream 2011-01-18
  • 打赏
  • 举报
回复
Hibernate配置文件加上下面几句:
	<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">30</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>
t150ckh 2011-01-18
  • 打赏
  • 举报
回复
不防看看你的代码是如何实现的。
happyfmy 2011-01-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zn85600301 的回复:]
是不是你点的太快重复提交的问题
[/Quote]
单凭你的情况说明 我们也不能帮你解决什么问题啊

很有可能是查询效率问题 点击后查询较慢 出结果
smalldear 2011-01-18
  • 打赏
  • 举报
回复
我试了 慢慢的点也是点几次就不动大概在3次左右,谢谢楼上的意见,大家都给点建议啊
zn85600301 2011-01-18
  • 打赏
  • 举报
回复
是不是你点的太快重复提交的问题
smalldear 2011-01-18
  • 打赏
  • 举报
回复
action 里面是这么写的 这个方法是我在网上找的 貌似没有什么配置文件需要改的 也可能是我不了解 人家也没贴上吧 大虾们给瞅瞅是不是我哪里少了配置


int totalRows = 0;// 记录总行数
totalRows = userBiz.getRows();
Pager pager = PagerHelper.getPager(request, totalRows);
List list = userBiz.getAllAusers(pager.getPageSize(), pager
.getStartRow());
System.out.print(list.isEmpty());
System.out.print(totalRows);
request.setAttribute("item", list);
request.setAttribute("pager", pager);
request.setAttribute("totalRows", totalRows);
return mapping.findForward("select");



jsp页面

<form id="form1" name="form1" action="guodu.do" method="post">
<html:hidden property="state" value="getStudents" />

<table width="595" border="1" align="center" name="table"
id="mytable" cellspacing="0">
<tr>
<td colspan="9" align="center">
<h2>
<input type="button" value="导出" onclick="preview()"
class="smallInput">

<input type="button" name="Submit2" value="首页"
onclick="tijiao2()" class="smallInput" />
</h2>
</td>
</tr>
<tr>
<td width="60" align="center">
姓名
</td>
<td width="90" align="center">
部门
</td>
<td width="120" align="center">
岗位
</td>
<td width="80" align="center">
工号
</td>
<td width="45" align="center">
内线
</td>
<td width="80" align="center">
办公电话
</td>
<td width="80" align="center">
移动电话
</td>
<td width="80" align="center">
QQ
</td>


</tr>
<logic:notEmpty name="item" scope="request">
<logic:iterate id="list" name="item">

<%--<c:forEach items="${page.pageList}" var="list">
--%>
<tr>
<td align="center">
${list.name}
</td>
<td align="center">
${list.section}
</td>
<td align="center">
${list.station}
</td>
<td align="center">
${list.jnumber}
</td>
<td align="center">
${list.insideLance}
</td>
<td align="center">
${list.officePhone}
</td>
<td align="center">
${list.telephone}
</td>
<td align="center">
${list.qq}
</td>
</tr>
</logic:iterate>

<%--</c:forEach>
--%>
</table>
</logic:notEmpty>
<table border="1" align="center" style="width: 500px">
<tr>
<td colspan="8" align="right" class="head">

<bean:write name="pager" property="currentPage" />
页  共
<bean:write name="pager" property="totalPages" />
页 
<html:link action="guodu.do?state=getStudents&pageMethod=first"
paramName="pager" paramProperty="currentPage"
paramId="currentPage">首页</html:link>
<html:link
action="guodu.do?state=getStudents&pageMethod=previous"
paramName="pager" paramProperty="currentPage"
paramId="currentPage">上一页</html:link>
<html:link action="guodu.do?state=getStudents&pageMethod=next"
paramName="pager" paramProperty="currentPage"
paramId="currentPage">下一页</html:link>
<html:link action="guodu.do?state=getStudents&pageMethod=last"
paramName="pager" paramProperty="currentPage"
paramId="currentPage">尾页</html:link>
</td>
<td>
共有
<%=request.getAttribute("totalRows")%>
条记录
</td>
</tr>
</table>
smalldear 2011-01-18
  • 打赏
  • 举报
回复

// pageSize是设置数据库每次返回多少条数据 startRow是设置每页从第几条数据开始

public List getAllAusers(int pageSize, int startRow) throws Exception {
Session session=this.getSession();
String hql="from Auser";
Query query=session.createQuery(hql);
query.setFirstResult(startRow);
query.setMaxResults(pageSize);
return query.list();
}

// 获取返回数据个数
public int getRows()throws Exception{
Session session =this.getSession();
String hql="select count(*) from Auser";
Query q=session.createQuery(hql);

// 有时候uniqueResult()方法返回的是一个Long类型的变量而不是Integer类型的变量 原因是J2EE版本不一样 所以这里有必要进行一下类型转换
Long lo=(Long)q.uniqueResult();
Integer count=new Integer(String.valueOf(lo));
return count;
}
这是分页方法的实现类

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧