代码部分:
<%@page import="org.jsoft.vo.NotesVO"%>
<%@page import="org.jsoft.dao.NotesDAO"%>
<%@page import="java.util.List"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<table border="1" cellpadding="0">
<%
int upPage;// 上一页
int downPage;// 下一页
int nowPage;// 当前页
int sumPage;// 总页数
int everyPage=2;// 每页显示两个
%>
<tr>
<td>编号</td>
<td>名字</td>
<td>价格</td>
<td>图片</td>
</tr>
<%
NotesDAO nd=new NotesDAO();
List<NotesVO> ln=nd.selectNotes();
// 可以通过 总条数 得到总页数
int sumPage_size = ln.size();// 总页数长度
sumPage=(sumPage_size+everyPage-1)/everyPage;//
if(sumPage==0){// 如果总页数为零,显示商品已卖完
out.println("卖完了!");
}else{
// 当前页
String now=request.getParameter("nowPage");
if(now!=null){
nowPage=Integer.parseInt(now);// 强制转型
}else{
nowPage=1;
}if(nowPage==1){
upPage=nowPage;// 设置上一页
}else{
upPage=nowPage-1;
}if(nowPage==sumPage){
downPage=sumPage;// 设置下一页
}else{
downPage=nowPage+1;
}
List<NotesVO> l=nd.getNotes((nowPage-1)*everyPage,everyPage);
for(NotesVO nv:l){
%>
<tr>
<td><%=nv.getNid() %></td>
<td><%=nv.getNname() %></td>
<td><%=nv.getNprice() %></td>
<td><img src="<%=nv.getNphoto() %>"/></td>
</tr>
<%}%>
<caption>
总页为:<%=sumPage%> 当前页为:<%=nowPage %>
<a href="Find.jsp?nowPage=<%=upPage%>">上一页</a>
<a href="Find.jsp?nowPage=<%=downPage%>">下一页</a>
</caption>
<%}%>
</table>
</body>
</html>
DAO包
// 查
public List<NotesVO> selectNotes(){
List<NotesVO> lt=new ArrayList<NotesVO>();
Connection con=null;
PreparedStatement pst=null;
ResultSet rs=null;
try {
con=Single.getST().getCon();
String sql="SELECT * FROM phone";// 查询语句
pst=con.prepareStatement(sql);
rs=pst.executeQuery();
while(rs.next()){
int id=rs.getInt("nid");
String name=rs.getString("nname");
String price=rs.getString("nprice");
String photo=rs.getString("nphoto");
NotesVO nv=new NotesVO();
nv.setNid(id);
nv.setNname(name);
nv.setNprice(price);
nv.setNphoto(photo);
lt.add(nv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
Single.getST().closeAll(rs, pst, con);
}
return lt;
}
// 分页查询
public List<NotesVO> getNotes(int start,int end){
List<NotesVO> lt=new ArrayList<NotesVO>();
Connection con=null;
PreparedStatement pst=null;
ResultSet rs=null;
try {
con=Single.getST().getCon();
String sql="SELECT * FROM phone order by nid limit ?,?";
pst=con.prepareStatement(sql);
pst.setInt(1, start);// 开始
pst.setInt(2, end);// 结束
rs=pst.executeQuery();
while(rs.next()){
int id=rs.getInt("nid");
String name=rs.getString("nname");
String photo=rs.getString("nphoto");
String price=rs.getString("nprice");
NotesVO nv=new NotesVO();
nv.setNprice(price);
nv.setNphoto(photo);
nv.setNname(name);
nv.setNid(id);
lt.add(nv);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
Single.getST().closeAll(rs, pst, con);
}
return lt;
}
}