jsp简单分页实现

来源:互联网 发布:中心机房的数据备份 编辑:程序博客网 时间:2024/05/22 09:45

1.所需jar包


2.实现步骤

##1.jsp页面中使用jQuery load函数加载数据。在点击页数按钮调用js函数加载数据。
<script type="text/javascript">function showRecords(start) {$("#sp").load("/Pagination/PagingServlet?startPage="+start, function(data) {var n="<table class=\"table\">";var nobj=eval(data);for(var i=0;i<nobj.length;i++){n=n+"<tr><td>"+nobj[i].id+"</td>";n=n+"<td>"+nobj[i].title+"</td>";n=n+"<td>"+nobj[i].date+"</td></tr>";}n=n+"</table>";$("#sp").html(n);});}</script>
##2.2jsp页面中异步获取需要分页数
<script type="text/javascript">showRecords(0);$("#pagenum").load("/Pagination/GetPageNum",function(data){var record_num=parseInt(data);var page_num=0;page_num=(((record_num%10)==0)?(record_num/10):(record_num/10+1)); var ulStr="";for(var i=1;i<=page_num;i++){ulStr=ulStr+"<li><a href=\"#\" onclick=\"showRecords("+(i-1)*10+")\">"+i+"</a></li>";}$("#pagenum").html(ulStr);});</script>
##2.3分页方法
public List<DataRecord> getAllNotice(int start) {String startStr=String.valueOf(start);String sql = "SELECT * FROM " + TABLE_NAME+" LIMIT "+startStr+",10";List<DataRecord> list = new ArrayList<DataRecord>();try {st = con.createStatement();rs = st.executeQuery(sql);while (rs.next()) {list.add(new DataRecord(rs.getInt("nt_id"), rs.getString("nt_title"), rs.getString("nt_date")));}return list;} catch (SQLException e) {e.printStackTrace();}return null;}
用MySQL的LIMIT关键字实现分页
##2.4获取总记录数
//返回总记录数public int numberOfRecords(){String sql="SELECT COUNT(*) FROM "+TABLE_NAME;try{pst=con.prepareStatement(sql);rs=pst.executeQuery();if(rs.next())return rs.getInt(1);}catch(SQLException e){e.printStackTrace();}return 0;}
在JavaScript中根据记录数计算所需分页数
var page_num=0;page_num=(((record_num%10)==0)?(record_num/10):(record_num/10+1)); 




完整代码:http://download.csdn.net/detail/lantiancaiyun/8586217


0 0