String sql1="select count(*) from article where pid = " +0;
rsCount=DB.executeQuery(conn, sql1);
rsCount.next();
int totalRecords=rsCount.getInt(1);
totalPages=(totalRecords+page_Size-1)/page_Size;
if(pageNo>totalPages){ pageNo=totalPages;}
int startPos=(pageNo-1)*page_Size;
pageNo:当前是第几页 totalPages:总共多少页 startPos:显示跳转的页面中的数据
limit的用法如下:
例如:limit 2,3(或limit m,n)
从第3条数据开始检索(m+1),取出3条数据(n)
在jsp页面中,pageNo初始化,再调用该方法。这种方法是直接在数据库里操作的,把数据从数据库里取出来然后再放到jsp页面中。
<%
final int PAGE_SIZE=4;
int pageNo=1;
String strPageNo=request.getParameter("pageNo");
if(strPageNo!=null&&!strPageNo.trim().equals("")){
try{
pageNo=Integer.parseInt(strPageNo);
}catch(NumberFormatException e){
pageNo=1;
}
}
if(pageNo<=0){
pageNo=1;
}
List<Article> article =new ArrayList<Article>();
int totalPages=Article.articleFlat(article, pageNo, PAGE_SIZE);
%>
[ <a href="articleFlat.jsp?pageNo=<%=0 %>">首页</a>
| <a href="articleFlat.jsp?pageNo=<%=pageNo-1 %>" >上一页</a>
|<a href="articleFlat.jsp?pageNo=<%=pageNo+1 %>" >下一页</a>
| <a href="articleFlat.jsp?pageNo=<%=totalPages %>" >末页</a>
]