分页工具类:
package com.leatherstore.other;
public class Pager {
private int nowPager;//当前页
private int pageSize;//每页显示的行数
private int totalRecords;//总信息数
private int totalPage;//总页数
public Pager() {
super();
}
public Pager getPage(String pageNum ,int totalRecords,int pageSize){
this.pageSize=pageSize;
this.totalRecords=totalRecords;
if(totalRecords%pageSize==0){//判断总页数
totalPage=totalRecords/pageSize;
}else{
totalPage=totalRecords/pageSize+1;
}
if(totalPage==0){//如果总页数等于0,总页数等于1
totalPage=1;
}
if(pageNum==null || "".equals(pageNum)){//判断pageNum为空显示当前页为第一页
nowPager=1;
}else{
try {
nowPager=Integer.parseInt(pageNum);//当前页就等于参数对应pageNum
} catch (NumberFormatException e) {
nowPager=1; //出现异常当前页也等于1
}
}
if(nowPager<1){//如果当前页小于1 当前也就等于1
nowPager=1;
}
if(nowPager>totalPage){//如果大于总页数 就等于总页数
nowPager=totalPage;
}
return this;
}
public int getNowPager() {
return nowPager;
}
public void setNowPager(int nowPager) {
this.nowPager = nowPager;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public int getTotalPage() {
return totalPage;
}
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
}
分页方法:
Java code
package com.leatherstore.dao.impl;
import java.util.List;
import org.hibernate.Query;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import com.leatherstore.dao.FwxxDao;
import com.leatherstore.entity.Fwxx;
import com.leatherstore.other.Pager;
public class FwxxDaoImpl extends HibernateDaoSupport implements FwxxDao {
public int getFwxxCount() {
String hql = "select count(*) from Fwxx";
Query query = this.getSession().createQuery(hql);
return ((Number) query.uniqueResult()).intValue();
}
@SuppressWarnings("unchecked")
public List<Fwxx> getFwxxList(Pager page) {
String hql = "from Fwxx order by fwid asc ";
Query query = this.getSession().createQuery(hql);
query.setFirstResult((page.getNowPager() - 1) * page.getPageSize());// 从第几条开始取
query.setMaxResults(page.getPageSize());// 取多少条
return query.list();
}
}
bizImpl层:
package com.leatherstore.biz.impl;
import java.util.List;
import com.leatherstore.biz.FwxxBiz;
import com.leatherstore.dao.FwxxDao;
import com.leatherstore.entity.Fwxx;
import com.leatherstore.other.Pager;
public class FwxxBizImpl implements FwxxBiz {
private FwxxDao fwxxDao;
public void setFwxxDao(FwxxDao fwxxDao) {
this.fwxxDao = fwxxDao;
}
public int getFwxxCount() {
return fwxxDao.getFwxxCount();
}
public List<Fwxx> getFwxxList(Pager page) {
return fwxxDao.getFwxxList(page);
}
}
action:
package com.leatherstore.struts.action;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.leatherstore.biz.FwxxBiz;
import com.leatherstore.entity.Fwxx;
import com.leatherstore.other.Pager;
import com.leatherstore.struts.form.FwxxForm;
public class FwxxAction extends Action {
/*
* Generated Methods
*/
private FwxxBiz fwxxBiz;
public void setFwxxBiz(FwxxBiz fwxxBiz) {
this.fwxxBiz = fwxxBiz;
}
//分页属性
private String pageNum;
private String pageSize;
private int totalRecords;
public String getPageNum() {
return pageNum;
}
public void setPageNum(String pageNum) {
this.pageNum = pageNum;
}
public String getPageSize() {
return pageSize;
}
public void setPageSize(String pageSize) {
this.pageSize = pageSize;
}
public int getTotalRecords() {
return totalRecords;
}
public void setTotalRecords(int totalRecords) {
this.totalRecords = totalRecords;
}
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
FwxxForm fwxxForm = (FwxxForm) form;
Pager page=null;
try {
page =new Pager().getPage(pageNum, fwxxBiz.getFwxxCount(), Integer.parseInt(pageSize));
} catch (Exception e) {
page =new Pager().getPage(pageNum, fwxxBiz.getFwxxCount(), 4);
}
List<Fwxx> fwxxList=fwxxBiz.getFwxxList(page);
request.setAttribute("fwxx", fwxxList);
request.setAttribute("page", page);
return mapping.findForward("showFwxx");
}
页面
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<style type="text/css">
.hand {
cursor: pointer;
}</style>
<script type="text/javascript">
//首页
function firstPage(){
var num = document.getElementById("hiddenPageNum");
if("" != null){
num.value = 1;
document.forms[0].submit();
}
}
//上一页
function prePage(){
var num = document.getElementById("hiddenPageNum");
if("" != null){
num.value = num.value - 1;
document.forms[0].submit();
}
}
//下一页
function nextPage(){
var num = document.getElementById("hiddenPageNum");
if("" != null){
num.value = num.value - 0 + 1;
document.forms[0].submit();
}
}
//末页
function lastPage(){
var num = document.getElementById("hiddenPageNum");
if("" != null){
num.value = ${page.totalPage};
document.forms[0].submit();
}
}
</script>
</head>
<body>
<form action="/sshpager/fwxx.do">
<table>
<tr>
<td>
Title
</td>
<td>
Zj
</td>
<td>
Lxr
</td>
<td>
Date
</td>
</tr>
<logic:iterate id="fwxx" name="fwxx">
<tr>
<td>
${fwxx.title }
</td>
<td>
${fwxx.zj }
</td>
<td>
${fwxx.lxr }
</td>
<td>
${fwxx.date }
</td>
</tr>
</logic:iterate>
</table>
<div>
<span class="hand" onclick="firstPage()">首页</span>
<span class="hand" onclick="prePage()">上一页</span>
<span class="hand" onclick="nextPage()">下一页</span>
<span class="hand" onclick="lastPage()">末页</span>
${page.nowPager}/${page.totalPage}
</div>
<input type="hidden" name="pageNum" value="${page.nowPager }" id="hiddenPageNum">
</form>
</body>
</html>
Title Zj Lxr Date
北大附近招合租 1000.0 周星星 2007-07-03 09:38:09.0
健翔桥一居出租了 1200.0 刘景杨 2007-07-03 10:01:00.0
出租2居 2100.0 伊先生 2007-07-03 01:04:05.0
便宜出租前门四合院 2500.0 赵大宝 2007-07-03 01:10:29.0
首页 上一页 下一页 末页 1/3
分享到:
相关推荐
SSH分页 分页 通用分页 struts2分页
SSH分页插件的核心功能是将数据库查询结果按照一定的页码和每页记录数进行切割,使得用户可以逐页浏览,提高用户体验并减轻服务器负担。这个插件通常会集成到SSH框架中,通过简单的配置和调用,就能实现复杂的数据...
好强大的ssh分页,封装的很好,适合初学者研究下,可以更快帮助初学者掌握分页机制,学起来不是很容易,但是当你学会了就豁然开朗,其他的分页直接可以藐视了,哈。。。我就是这样学过来的 有相关教程:...
SSH分页则是指在使用这三个框架开发应用程序时,实现数据展示分页的一种技术手段。 **Struts** 是一个基于MVC设计模式的Web应用框架,主要用于控制视图与模型之间的交互。它提供了一种组织应用逻辑的方式,使得...
SSH分页技术是Java Web开发中一种常见的数据处理方法,主要应用于大数据量的展示场景,如用户在浏览商品列表或论坛帖子时,通过分页来避免一次性加载所有数据导致的性能问题和用户体验下降。SSH指的是Spring、Struts...
在这个"SSH分页_完整例子"中,我们将深入探讨如何在SSH框架下实现数据的分页显示。 分页是Web应用程序中常见的功能,它能帮助用户更有效地浏览和处理大量数据。SSH框架通过整合Spring的事务管理和Hibernate的ORM...
1. **复杂性**:SSH框架本身就已经包含了多个组件,再添加分页逻辑可能会使代码变得复杂,尤其是对于新手开发者来说,理解并调试分页代码可能需要花费更多时间。 2. **性能问题**:虽然分页可以提高用户体验,但频繁...
1. **前端请求**:用户在页面上触发分页操作,向服务器发送请求,携带当前页码和每页记录数。 2. **Struts Action处理**:Action接收到请求后,解析参数,然后调用Spring管理的Service进行业务逻辑处理。 3. **...
1. **配置插件**:在Struts2的配置文件中,我们需要引入分页插件的相关配置,这通常涉及拦截器、结果类型和插件类等设置。 2. **模型层**:在业务模型中,需要定义一个Page对象,它包含了当前页码、每页显示条数、...
这个例子中,"ssh分页例子_1"可能是一个包含源代码的文件,包含了上述各个部分的实现,如Action类、Service接口和实现、DAO接口和实现以及对应的JSP页面。通过对这些文件的分析和学习,你可以更好地理解SSH框架如何...
1. **Spring**:在Spring中,我们可以创建一个服务接口和其实现类,用于处理分页查询。服务接口定义了分页查询的方法,如`findUsersByPage(int pageNum, int pageSize)`,这个方法会根据当前页码和每页数量来查询...
在这个场景中,"SSH分页组件"指的是在SSH框架下实现数据分页功能的组件。 分页是Web应用中常见的需求,特别是在处理大数据量时,为了提高用户体验和系统性能,需要将结果集分割成多个小部分(页)进行显示。SSH分页...
SSH分页技术是Java开发中一个非常实用的功能,尤其在处理大数据量的Web应用时,它能够有效地提高用户体验,避免一次性加载过多数据导致的性能问题。SSH是指Spring、Struts和Hibernate这三大开源框架的组合,它们在...
"SSH分页查询方法"是指在使用Struts2、Hibernate和Spring三大Java开发框架集成开发时实现的分页功能。 首先,Struts2是一个MVC(Model-View-Controller)框架,它负责处理用户请求并将其转发到相应的控制器,进而...
这个一个关于String+Spring+Hibernate框架,可以分页显示的实例代码.
总结起来,这个压缩包提供的SSH分页实例数据库MySQL连接,旨在帮助初学者掌握SSH框架在实际项目中的应用,尤其是如何利用SSH实现数据的CRUD操作和分页功能,对于提升Java Web开发技能具有很大价值。通过实践这个实例...
1. 创建分页Action,处理请求参数并调用Service获取分页数据。 2. 在Spring配置中定义Service,注入SessionFactory,实现分页查询。 3. 使用Hibernate的HQL或Criteria查询实现数据库的分页操作。 4. 将分页结果传递...
1. 设置初始分页参数,如每页记录数和当前页码。 2. 根据参数执行SQL查询,获取指定页的数据。 3. 计算总页数,以便创建分页导航。 4. 在前端展示数据,并创建可点击的分页链接。 5. 处理用户点击分页链接时的请求,...
在这个名为"ssh.zip_SSH 数据分页_ssh分页实现"的压缩包中,我们可以看到一个关键的实践案例——如何在SSH框架下实现数据分页功能。数据分页在Web应用中极为重要,因为它能够帮助用户更有效地浏览大量信息,提高用户...
在这个名为"ssh.zip_SSH分页_ssh的分页实现"的压缩包中,我们关注的是SSH框架下的数据分页功能。 分页是大型Web应用程序中的一个关键特性,它允许用户以可管理的方式浏览大量数据,而不会被过长的列表压垮。在SSH...