后台数据库是mysql5.X,使用mysql的分页语句,如:select * from test limit 0,10;
Dao中分页取数据的方法:
public List<Users> getPage(int start,int pageRecord)
{
conn = DBUtil.getConn();
PreparedStatement pstmt = null;
ResultSet rs = null;
List<Users> userList = new ArrayList<Users>();
String sql = "select login_name,email,address,tel from users limit ?,?";
try
{
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, start);
pstmt.setInt(2, pageRecord);
rs = pstmt.executeQuery();
Users user = null;
while(rs.next())
{
user = new Users();
user.setLoginName(rs.getString("login_name"));
user.setEmail(rs.getString("email"));
user.setAddress(rs.getString("address"));
user.setTel(rs.getString("tel"));
userList.add(user);
}
} catch (SQLException e)
{
e.printStackTrace();
}
finally
{
DBUtil.close(rs);
DBUtil.close(pstmt);
DBUtil.close(conn);
}
return userList;
}
分页的action:
public class PageAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
//当前页
String currentPageStr = request.getParameter("pageNo");
int currentPage=0;
//每页显示的记录数
int pageSize = 10;
try
{
currentPage =Integer.parseInt(currentPageStr);
}
catch(NumberFormatException e)
{
currentPage = 1;
}
//在数据库中从第几条开始
int start = (currentPage -1) * 10;
//在数据库中已分页的数据集合
List<Users> list = DaoFactory.getUsersDaoInstance().getPage(start, pageSize);
//所有记录的集合
List<Users> allRecordList = DaoFactory.getUsersDaoInstance().getAll();
//所有记录数
int allRecord = allRecordList.size();
//总页数
int totalPage = allRecord % pageSize==0?allRecord/pageSize : allRecord/pageSize + 1;
List<Users> l = new ArrayList<Users>();
Users user = null;
for(Users u : list)
{
user = new Users();
user.setLoginName(u.getLoginName());
user.setEmail(u.getEmail());
user.setTel(u.getTel());
user.setAddress(u.getAddress());
l.add(user);
}
//总记录数
request.getSession().setAttribute("allRecord", allRecord);
//总页数
request.getSession().setAttribute("totalPage", totalPage);
//当前页数
request.getSession().setAttribute("currentPage", currentPage);
request.getSession().setAttribute("list", l);
return mapping.findForward("success");
}
}
前台页面代码:
<table align="center" border="0">
<tr>
<td width="76%">
<font size=4>总共${allRecord}条记录 - 当前页${currentPage }/总页数${totalPage }:</font>
</td>
</tr>
<tr>
<c:if test="${currentPage<=1}">
首页
</c:if>
<c:if test="${currentPage>1}">
<a href="page.do?pageNo=1">首页</a>
</c:if>
<c:if test="${currentPage<totalPage}">
<a href="page.do?pageNo=${currentPage +1}"+>下一页</a>
</c:if>
<c:if test="${currentPage>=totalPage}">
下一页
</c:if>
<c:if test="${currentPage<=1}">
上一页
</c:if>
<c:if test="${currentPage>1}">
<a href="page.do?pageNo=${currentPage -1 }">上一页</a>
</c:if>
<c:if test="${currentPage>=totalPage}">
尾页
</c:if>
<c:if test="${currentPage<totalPage}">
<a href="page.do?pageNo=${totalPage}">尾页</a>
</c:if>
</tr>
</table>
<table border="2" align="center">
<tr>
<td>用户名</td>
<td>email</td>
<td>电话</td>
<td>地址</td>
</tr>
<c:forEach items="${list}" var="l">
<tr>
<td>${l.loginName}</td>
<td>${l.email }</td>
<td>${l.tel }</td>
<td>${l.address }</td>
</tr>
</c:forEach>
</table>
分享到:
相关推荐
用struts 框架所做。分页显示。查询。插入。等。
sqlserver 2005 + Struts+javaBean 实现的一个简单的分页功能。我就不附带数据库了,自己按JAVAbean建立一个表吧,很简单
传统的网页设计只在一个JSP或者ASP页面中书写所有关于数据库操作的代码,那样做分页可能简单一点,但当把网站分层开发后,分页就比较困难了,下面是我做Spring2+Hibernate3+Struts2项目时设计的分页代码,...
JSP+Struts+HiberNate的博客系统,有Update,select,insert等操作,还有分页(全源码)
hibernate+struts实现jsp增删改查分页! hibernate实现对数据库的操作,struts实现对表单的操作! 实现了分页功能! (注:本本项目中文会出现乱码,我还没有解决!附有数据库文件!)
hibernate+struts实现jsp增删改以及分页功能! hibernate做数据操作,struts处理表单。 实现了分布功能。附数据库! (注:如果出现乱码,大家配置一下tomcat的编码方式与数据库的编码方式就行了!)
1、添加struts2.1支持 2、修复没查到数据,组显示负数BUG V1.5版更新内容 1、修复HQL方式日期范围查询BUG 2、添加分组分页的功能 3、添加pageSize设置功能 V1.1版本更新内容 1、实现日期范围查询 V1.0版本 1、...
自写的一个! 不足之处望留言提示。 jsp+struts+hibernate实现分面显示功能
好久没写过什么东西了,最近自己在学习Java WEB方面的东西,自己想用JSP和 Struts2 HIBERNATE来写一个自己工作室的网站练练手,稍微有些收获今天写出来,与大家一起分享一下:STRUTS2+HIBERNATE实现分页是JAVA WEB最...
该文件是本人学了Struts2和Hibernate时所做,有地方不懂得可以找我,谢谢下载!
用struts实现的分页
本人用struts+hibernate写的分页,有详细的注解,方便新手学习,在jsp中实现首页下一页上一页末页功能.index.jsp控制showlist.jsp页面中每页显示的信息条数,本实例在xp+tomcat5.5验证通过.数据库使用的sql2000中的pubs...
spring+hibernate+struts2+jsp+字母数字验证码+多条件查询分页,内含数据库,本人测试顺利运行,适合初学者学习研究
Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码) Struts2 + Spring2 + Hibernate3经典分页(包含java及jsp源码)
自已写的一个jsp自定义分页器zoo-paging-1.0.jar,附带有源码以及例子,希望对大家有用!
JAVA分页大全.doc Hibernate分页查询.doc hibernate实现分页技术.txt struts实现分页技术源代码txt Struts+hibernate制作分页的问题txt spring+struts+hibernate 分页问题.txt ...jsp实现分页技术.txt
使用jsp+struts2实现前台分页技术
网上购物系统:struts、JDBC、Ajax、...产品浏览:产品浏览主页面,分类分页浏览 购物车:添加,删除,更新数量 订单模块:创建新订单,数据库存贮订单信息恢复 开发平台:MyEclipse 服务器:Tomcat 数据库:MySql
使用JSP、Struts2和jquery实现简单查询,分页,导出到Excel并保存到本地计算机。(数据库相关内容在webroot下db文件夹内)