图片:
定义每页的记录数:
public class User {
public static final int PAGESIZE=10;
}
find类:作用是查询总记录数和分页信息
public class Find {
//查询总记录数
public int SelectCount(){
int count=0;
ResultSet rs=null;
UserCoon coon=new UserCoon();
Connection coona=coon.getCoon();
String sql_Counts="select count(*) from user_table";
try {
PreparedStatement pst=coona.prepareStatement(sql_Counts);
rs=pst.executeQuery();
if(rs.next()){
count=rs.getInt(1);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return count;
}
//分页查询
public List<User> Selectcontent(int page){
List<User> list=new ArrayList<User>();
UserCoon coon=new UserCoon();
Connection coona=coon.getCoon();
String sql_Count="select * from user_table limit ?,?";
try {
PreparedStatement pst=coona.prepareStatement(sql_Count);
pst.setInt(1,(page-1)*User.PAGESIZE);
pst.setInt(2,User.PAGESIZE);
ResultSet rs=pst.executeQuery();
while(rs.next()){
User usera=new User();
usera.setId(rs.getString("id"));
usera.setUsername(rs.getString("username"));
usera.setpassword(rs.getString("password"));
usera.setType(rs.getString("type"));
list.add(usera);
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
showPage.jsp
<table align="center" width="800" border="1">
<tr>
<td align="center" colspan="3">
<h2>所有用户信息</h2>
</td>
</tr>
<tr align="center">
<td><b>用户名</b></td>
<td><b>密码</b></td>
<td><b>用户类型</b></td>
</tr>
<%
int currpage=1;//定义当前页码
if(request.getParameter("page")!=null){
currpage=Integer.parseInt(request.getParameter("page"));
}
Find find=new Find();
List<User> listall=new ArrayList<User>();
listall=find.Selectcontent(currpage);
Iterator<User> it=listall.iterator();
while(it.hasNext()){
User usera=it.next();
%>
<tr align="center">
<td><%=usera.getUsername()%></td>
<td><%=usera.getPassword()%></td>
<td><%=usera.getType()%></td>
</tr>
<%} %>
<tr>
<td align="center" colspan="3">
<jsp:include page="Bar.jsp"/>
</tr>
</table>
Bar.jsp
<%
int pages;//定义总页数
int currpage=1;//定义当前页码
if(request.getParameter("page")!=null){
currpage=Integer.parseInt(request.getParameter("page"));
}
Find fd=new Find();
int count=fd.SelectCount();
if(count%User.PAGESIZE==0){
pages=count/User.PAGESIZE;
}else{
pages=count/User.PAGESIZE+1;
}
StringBuffer sb=new StringBuffer();
for(int i=1;i<=pages;i++){
if(i==currpage){
sb.append("["+i+"]");
}else{
sb.append("<a href='showPage.jsp?page="+i+"'>"+i+"</a>"); //构建分页条
}
sb.append(" ");
}
out.println(sb);
request.setAttribute("bar", sb.toString());
%>