jsp的分页的例子
来源:互联网 发布:windows编程视频在线 编辑:程序博客网 时间:2024/05/21 06:30
//index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<jsp:forward page="/emp.do?p=fenye&page=1"></jsp:forward>
//servlet
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.dao.EmpDAO;
public class EmpServlet extends HttpServlet {
EmpDAO empDAO = new EmpDAO();
@Override
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String p = request.getParameter("p");
if ("fenye".equals(p)){
doFenye(request, response);
}
}
public void doFenye(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//当前页
String pageString = request.getParameter("page");
int page = 1;
if (pageString!=null && pageString.length()>0){
page = Integer.parseInt(pageString);
}
//每页3条
int size = 3;
//分页
Map map = empDAO.fenye(page, size);
request.setAttribute("map",map);
request.getRequestDispatcher("/show.jsp").forward(request, response);
}
}
//这是dao层
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.db.DbUtil;
import com.entity.Emp;
public class EmpDAO {
private DbUtil dbUtil = new DbUtil();
//员工分页
public Map fenye(int page,int size)
{
//总条数
String sqlCount= "select ss=count(*) from emp";
ResultSet rs = dbUtil.getRs(sqlCount);
int sum = 0;
List list = null;
int count = 0;
try {
rs.next();
sum = rs.getInt("ss");
//总页数
count = sum%size==0 ? sum/size : sum/size+1;
//越界检查
if (page<1) page =1;
if (page>count) page = count;
//查
//拼sql
String sql = "select top %d * from emp where empid not in (select top %d empid from emp)";
sql = String.format(sql, size,(page-1)*size);
ResultSet rs2 = dbUtil.getRs(sql);
list = new ArrayList();
while (rs2.next()){
Emp e = new Emp();
e.setEmpid(rs2.getInt("empid"));
e.setEmpname(rs2.getString("empname"));
e.setEmpsex(rs2.getInt("empsex"));
list.add(e);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//把所有结果保存到map
Map map = new HashMap();
map.put("size", size); //每页大小
map.put("sum", sum);//总条数
map.put("page", page);//当前页
map.put("list", list); //分页内容
map.put("count", count);//总页数
return map;
}
public static void main(String[] args) {
Map map = new EmpDAO().fenye(5, 3);
System.out.println("总条数:"+map.get("sum"));
System.out.println("总页数:"+map.get("count"));
System.out.println("当前页:"+map.get("page"));
List<Emp> list = (List<Emp>) map.get("list");
for (Emp emp : list) {
System.out.println(emp.getEmpid());
}
}
}
//这是show.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<table border="1" align="center" width="80%">
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
</tr>
<c:forEach items="${map.list}" var="e">
<tr align="center">
<td>${e.empid}</td>
<td>${e.empname}</td>
<td>${e.empsex==1?"男":"女" }</td>
</tr>
</c:forEach>
</table>
<form action="${pageContext.request.contextPath}/emp.do?p=fenye" method="post" onsubmit="return check()">
当前${map.page}/${map.count}页
<c:if test="${map.page!=1}">
<a href="${pageContext.request.contextPath}/emp.do?p=fenye&page=1">【首 页】</a>
<a href="${pageContext.request.contextPath}/emp.do?p=fenye&page=${map.page-1}">【上一页】</a>
</c:if>
<c:if test="${map.page!=map.count}">
<a href="${pageContext.request.contextPath}/emp.do?p=fenye&page=${map.page+1}">【下一页】</a>
<a href="${pageContext.request.contextPath}/emp.do?p=fenye&page=${map.count}">【末 页】</a>
</c:if>
转<input type=text name=page size=1 value="${map.page}">
<input type=submit value="go">
</form>
<script>
function check()
{
var page = document.getElementsByName("page")[0].value;
if (isNaN(page))
{
alert('只能输入数字');
return false;
}
if (page<1 || page>${map.count})
{
alert('只能输入1-${map.count}');
return false;
}
return true;
}
</script>
- jsp的分页的例子
- Servlet+JSP分页的一个例子
- Servlet+JSP分页的一个例子
- JSP学习之------>JSP的查询和分页例子
- jsp+DAO+servlet+sqlserver2000的session 分页(CRUD)例子
- jsp分页技术的例子实现和总结
- 一个简单的分页例子,采用JSP+oracle编写
- 很好的jsp+servlet+javaBean实现数据分页代码例子
- 一个分页的例子
- 分页的例子
- Jsp分页简单例子
- jsp+javabean的分页
- 最好的JSP分页
- JSP的一种分页
- 简单的jsp分页
- JSP的分页实现!
- JSP分页的实现
- jsp 分页的实现
- Android桌面悬浮窗
- oracle 闰年判断
- 优化Java堆大小的5个技巧
- 新闻集团推颠覆性教育产品AMPLIFY
- StringBuilder 和 StringBuffer
- jsp的分页的例子
- poj2033------Alphacode
- Ajax实现在线聊天
- 关于设置Dialog背景颜色及其控件颜色中涉及的知识点
- MongoDB介绍及安装
- NameNode的format操作
- android关于讯飞语音包的开发
- 字节对齐
- LINUX 配置新端口