xml文件 分页查询:
<select id="fenyeFind" resultMap="sBookResultMap" parameterType="int">
select * from sbook order by id
<if test="beginResult >= 0">
<if test="resultSize > 0">
limit #{beginResult},#{resultSize};
</if>
</if>
</select>
service的实现类:
public List<SBook> fenyeFind(Integer beginResult, Integer resultSize) {
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("beginResult", beginResult);
map.put("resultSize", resultSize);
return bookMapper.fenyeFind(map);
}
其中的bookMapper是一个接口。
分页action:
/**
* 分页的action
* @return success;
*/
public String fenyeShow() {
int count = bookServices.findAllBook().size();
int b = 1;
if(getBegin() > 0) {
b = getBegin();//设置当前行数
}
resultSize = 3;//每页显示的条数
total = count / resultSize + (count % resultSize == 0 ? 0 : 1);
for(int i = 1; i <= total; i ++) {
pages.add(i);//把总行数添加到集合中
}
ActionContext.getContext().put("pagesize", pages);//把集合放到上下文对象中
int a = (b - 1) * resultSize;//设置开始查询的数据
bookLst = bookServices.fenyeFind(a, resultSize);
return "success";
}
分页jsp1:
<%
//(int[])request.getAttribute("pagesize");
List<Integer> pa = (List<Integer>)ActionContext.getContext().get("pagesize");
for(int i = 1; i <= pa.size(); i ++) {
%>
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=<%=i %>"><%=i %></a>
<%} %><br>
<br />
<jsp:include page="childFenye.jsp"></jsp:include>
分页jsp2:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<script type="text/javascript">
function gotoFenyeAction() {
var id = document.getElementById("fenyeForms");
id.submit();
}
</script>
<form action="<%=request.getContextPath()%>/sbook/fenye.action" method="post" id="fenyeForms">
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=1">首页</a>
<c:if test="${begin>1}">
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=${begin-1}">上一页</a>
</c:if>
跳转到第 <select name="begin" onchange="gotoFenyeAction();">
<c:forEach begin="1" end="${total}" step="1" var="pageIndex">
<c:choose>
<c:when test="${pageIndex eq begin}">
<option value="${pageIndex}" selected="selected">${pageIndex}</option>
</c:when>
<c:otherwise>
<option value="${pageIndex}">${pageIndex}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</select>页
<c:choose>
<c:when test="${begin == null || begin == 0 }">
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=${begin + 2}">下一页</a>
</c:when>
<c:when test="${begin < total }">
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=${begin + 1}">下一页</a>
</c:when>
</c:choose>
</c:if>
<a href="<%=request.getContextPath()%>/sbook/fenye.action?begin=${total}">末页</a>
</form>
分享到:
相关推荐
本项目“mybatis分页(struts2+spring+mybatis)”演示了如何在Java Web应用中实现基于MyBatis的分页功能,结合Struts2和Spring框架,提供了一个完整的解决方案。下面将详细解释这个项目涉及的知识点。 1. **...
以上就是关于"spring+struts2+mybatis框架实现单表增删改查、条件查询和分页、文件上传"项目的详细知识点解析。通过这个项目,初学者可以深入理解Java Web开发的流程,掌握SSM框架的整合与应用,以及数据库操作和...
Struts、MyBatis和JSP是Java Web开发中常用的三大技术框架,它们结合使用可以构建功能丰富的Web应用程序,如本例中的“成绩管理系统”。这个系统支持学生、管理员和老师等不同角色的登录,实现权限控制,并且包含了...
Struts2、Spring和MyBatis是Java Web开发中经典的三大框架,它们组合起来能够构建出高效、可维护的Web应用程序。在这个简单的demo中,我们将深入探讨如何利用这三大框架来实现基本的增删改查(CRUD)功能。 首先,...
这是一个基于Java技术栈的老式项目配置,主要涵盖了Spring 3.0.1、Mybatis 3.0.5、Struts2.2.3.1、Velocity 1.7以及DWZ jQuery UI框架的整合应用。下面将详细介绍这些组件及其在项目中的作用。 **Spring 3.0.1**: ...
总的来说,这个项目展示了如何在Java Web环境中,利用Struts2、Spring和MyBatis三大框架,构建一个具备通用分页和拦截器功能的应用,为开发者提供了跨数据库的分页解决方案。通过学习和理解这个示例,开发者可以更好...
总的来说,这个项目是一个适合初学者实践的基础Java Web应用,涵盖了Mybatis的基本用法,Struts2的请求处理,以及数据库分页查询等常见功能。通过学习和实践这个项目,开发者可以对Java Web开发流程和Mybatis框架有...
### Java分页工具类及其在Struts、Spring、MyBatis和JSP中的应用 #### 一、Java分页概述 在开发Web应用程序时,为了提高用户体验并减轻服务器压力,通常会采用分页技术来展示大量的数据记录。本文将详细介绍一个...
通过整合Spring、Hibernate和Struts,我们可以构建一个功能完善的Web应用,不仅能够处理复杂的业务逻辑,还能提供高效的分页浏览体验。这三大框架的组合,展现了Java Web开发的强大能力,也是许多企业级应用的首选...
**Spring分页查询** Spring提供了Pageable接口和Page对象,可以方便地实现分页查询。在Service层,我们可以利用Spring Data JPA或MyBatis等持久层框架提供的方法,配合Pageable接口来获取分页数据。Page对象包含了...
总结起来,"struts+spring+ibatis(SSI)的最简分页及标签"是一个关于如何在Java Web开发中结合Struts的MVC架构、Spring的依赖管理和iBatis的数据访问来实现分页功能以及创建自定义标签的实践。这个过程涉及到Struts的...
1. **配置分页插件**:Spring或Struts中可以配置第三方的分页插件,例如PageHelper,它提供了对Hibernate和MyBatis的分页支持。 2. **在DAO层实现分页查询**:使用Hibernate的Criteria、HQL或者SQL配合分页参数(如...
Struts2、Spring和MyBatis是Java Web...综上所述,Struts2、Spring和MyBatis三者结合,可以构建出高效且可维护的分页查询系统。开发者可以根据实际项目需求,选择合适的方式实现分页,同时注意性能优化,提升用户体验。
总结,"Struts2+Spring+IBatis"的组合提供了强大的Web应用开发能力,能够有效地解耦业务逻辑和数据访问,简化CRUD操作,并支持复杂的分页功能。对于初学者来说,理解并实践这样的框架集成,能提升对Java Web开发的...
Struts2+Spring+Ibatis学生管理Demo是一个典型的Java Web应用程序,它展示了如何将三个流行的开源框架——Struts2、Spring和Ibatis有效地集成在一起,用于构建高效且可维护的学生信息管理系统。在这个系统中,Struts...
在Spring和Struts2中,可以通过自定义拦截器或者使用第三方库(如DisplayTag或MyBatis的PageHelper)来实现分页。在Hibernate中,可以利用Criteria的setFirstResult和setMaxResults方法实现分页查询。 7. **项目...
Spring提供了Pageable接口和Page对象,配合JPA(Java Persistence API)或MyBatis等持久层框架,可以方便地实现分页功能。 在实际开发中,通常会结合这三个框架的优点,例如,使用Struts处理请求,Spring管理bean和...
通常,Spring与Struts2结合时,会利用Spring的JdbcTemplate或者MyBatis等ORM(Object-Relational Mapping)框架来处理数据库交互。这些工具能简化SQL语句的编写,使得代码更加整洁。在这个系统中,可能有一个名为...
这是一个基于老旧技术栈的Web应用集成示例,主要包括Struts1.2、iBatis(现为MyBatis)和Spring2.0框架,以及Oracle10g数据库。这个项目可能是一个初学者为了学习和实践这些技术而创建的,特别加入了分页功能,以...
Java中级笔记涵盖了多个关键的Web开发技术,包括Servlet、JSP、分页和...在实际开发中,你还需要结合MVC(Model-View-Controller)设计模式、框架(如Spring MVC、Struts等)以及数据库操作来构建更复杂的应用系统。