zoukankan      html  css  js  c++  java
  • ajax 分页

    package cn.easy.util;
    
     
        /**
         * 分页的工具类
         */
        public class PageUtil {
            private int totalCount;// 总记录数 通过sql从数据库中获取
            private int pageSize = 3;// 页大小 每页显示的条数
            private int pageCount;// 总页数
            private int pageIndex;// 当前页
    
            public int getTotalCount() {
                return totalCount;
            }
    
            /**我们在获取总记录数之后,肯定可以得出 总页数
             * 001.总记录数通过sql从数据库中获取
             * 002.三元表达式 进行判断 并赋值总页数pageCount
             * 
             * 总页数=(总记录数%页大小==0)?(总记录数/页大小):(总记录数/页大小+1);
             * 
             * @param totalCount 总记录数
             */
            public void setTotalCount(int totalCount) {
                if (totalCount > 0) {
                    this.totalCount = totalCount;
                    this.pageCount = (totalCount % pageSize == 0) ? (totalCount / pageSize)
                            : (totalCount / pageSize + 1);// 总页数
                }
            }
    
            public int getPageSize() {
                return pageSize;
            }
    
            public void setPageSize(int pageSize) {
                this.pageSize = pageSize;
            }
    
            public int getPageCount() {
                return pageCount;
            }
    
            public void setPageCount(int pageCount) {
                this.pageCount = pageCount;
            }
    
            public int getPageIndex() {
                return pageIndex;
            }
    
            public void setPageIndex(int pageIndex) {
                this.pageIndex = pageIndex;
            }
    
            public PageUtil(int totalCount, int pageSize, int pageCount, int pageIndex) {
                super();
                this.totalCount = totalCount;
                this.pageSize = pageSize;
                this.pageCount = pageCount;
                this.pageIndex = pageIndex;
            }
    
            public PageUtil() {
                super();
            }
    
            @Override
            public String toString() {
                return "PageUtil [totalCount=" + totalCount + ", pageSize=" + pageSize
                        + ", pageCount=" + pageCount + ", pageIndex=" + pageIndex + "]";
            }
    
         
    
    }
        @Override
        public int totalCount() {
             String sql="select count(1) as count from easybuy_product" ;
             int count=0;
             try {
                ResultSet rs = executeQuery(sql);
                
                if(rs.next()){
                     count= rs.getInt("count"); 
                      if(count>0){
                          System.out.println("...");
                      }
                }
            } catch (ClassNotFoundException e) {
                 
                e.printStackTrace();
            } catch (SQLException e) {
                 
                e.printStackTrace();
            }
            return count;
        }
     
    
      
    package cn.easy.servlet.product;
    import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.ArrayList;
    import java.util.List;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;  
    
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;
    
    import com.google.gson.Gson;
    
    import cn.easy.been.Product;
    import cn.easy.service.impl.product.ProductServiceImpl;
    import cn.easy.service.product.ProductService;
    import cn.easy.util.PageUtil;
    @WebServlet("/ProductServlet")
    public class ProductServlet extends HttpServlet{
    
        @Override
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            doPost(request, response);
        }
    
        @Override
        protected void doPost(HttpServletRequest request, HttpServletResponse response )
                throws ServletException, IOException {
                ProductService service=new ProductServiceImpl();
                String action = request.getParameter("action");
                PageUtil util=new PageUtil();
                util.setTotalCount(service.totalCount());
                System.out.println("得到的总记录数"+service.totalCount());
                System.out.println("总页数:"+util.getPageCount());
                System.out.println("总记录数"+util.getTotalCount());
                String pageIndex=  request.getParameter("pageIndex")  ;
                System.out.println("pageIndex===="+pageIndex);
                if(pageIndex ==null|| pageIndex.equals("")){
                    util.setPageIndex(1);
                 }else{
                     util.setPageIndex(Integer.parseInt(pageIndex))  ;
                 }
                try {
                    List<Product> list = service.findAllByPage(util);
                    System.out.println("list=========Servlet"+list);
                    if(list!=null){
                        // 把分页的工具类对象页得放进作用域中
                         request.setAttribute("pageUtil", util);
                         list.get(0).setPageUtil(util);
                        // 创建Gson
                         Gson gson=new Gson();
                        // 需要把pageUtil放进集合第一个对象中
                         String json = gson.toJson(list);
                         PrintWriter writer = response.getWriter();
                         response.setHeader("Content-type", "text/html;charset=utf-8");
                         writer.print(json);
                         System.out.println(json);
                         writer.close();
                    }else{
                        System.out.println("出现异常");
                    }
                } catch ( Exception e) {
                    e.printStackTrace();
                } 
    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <meta name="renderer" content="webkit">
    <title></title>
    <link rel="stylesheet" href="css/pintuer.css">
    <link rel="stylesheet" href="css/admin.css">
    <script src="js/jquery.js"></script>
    <script src="js/pintuer.js"></script>
    </head>
    <body>
    <form method="post" action="" id="listform">
      <div class="panel admin-panel">
        <div class="panel-head"><strong class="icon-reorder"> 商品列表</strong> <a href="" style="float:right; display:none;">添加字段</a></div>
        <div class="padding border-bottom">
          <ul class="search" style="padding-left:10px;">
            <li> <a class="button border-main icon-plus-square-o" href="product/add.jsp"> 添加商品</a> </li>
     
            <li>
              <input type="text" placeholder="请输入搜索关键字" name="keywords" class="input" style="250px; line-height:17px;display:inline-block" />
              <a href="javascript:void(0)" class="button border-main icon-search" onclick="changesearch()" > 搜索</a></li>
          </ul>
        </div>
        <table class="table table-hover text-center">
          <tr>
            <th   style="text-align:left; padding-left:20px;">id</th>
            <th>商品名称</th>
            <th>商品描述</th>
            <th>商品价格</th>
            <th>商品库存</th>
            <th>一级分类id</th>
            <th>二级分类id</th>
            <th>三级分类id</th>
            <th>上传的文件名 </th>
            <th>是否删除</th>
            <th width="310">操作</th>
             </tr>
             <%--  <c:forEach var="p" items="${list}" >
             <tr>
              <td style="text-align:left; padding-left:20px;"><input type="checkbox" name="id[]" value="hahha" />
              ${p.id}</td>
              <td><input type="text" name="sort[1]" value="${p.name}" style="50px; text-align:center; border:1px solid #ddd; padding:7px 0;" /></td>
              <td > ${p.description}</td>
              <td>${p.price}</td>
              <td><font color="#00CC99">${p.stock}</font></td>
              <td>${p.categoryLevel1Id}</td>
              <td> ${p.categoryLevel2Id}</td>
              <td> ${p.categoryLevel3Id}</td>
              <td> ${p.fileName}</td>
              <td> ${p.isDelete}</td>
              <td><div class="button-group"> 
              <a class="button border-main" href="product/update.jsp"><span class="icon-edit"></span> 修改</a>
               <a class="button border-red" href="ProductServlet?action=del&id=${p.id}"   >  
             <span class="icon-trash-o"></span>删除</a> 
             </td>
            </tr>
            </c:forEach>
               --%>
              <tr>
           
          <tbody id="tbody">
          
          </tbody>
          
        </table>
      </div>
        
     <!-- 创建分页使用的隐藏域  当前页-->
     <input type="hidden" name="pageIndex">
        <nav aria-label="Page navigation">
         <ul class="pagination">
            <li><a href="javascript:"    id="one">首页</a></li>
             <li><a href="javascript:"    id="back">上一页</a></li>
             <li><a href="javascript:"    id="next">下一页</a></li>
             <li><a href="javascript:"    id="last">尾页</a></li>
           </ul>
           </nav>
    </form>
    
       <!-- 模态窗口  -->
     <!-- <div class="modal hide fade" id="myModal">
                 <div class="modal-header">
                     <button type="button" class="close" data-dismiss="modal">×</button>
                     <h3>确认删除</h3>
                 </div>
                 <div class="modal-body">
                     <p>是否删除本条新闻...</p>
                 </div>
                 <div class="modal-footer">
                 隐藏域 
                    <input  type="hidden" id="url">
                     <a href="#" class="btn" data-dismiss="modal">取消</a>
                     <a href="#" onClick="delSubmit()" class="btn btn-primary">删除</a>
                 </div>
             </div>  --> 
     <!--   关于 模态窗口的 js  -->
      <!--       <script type="text/javascript">
             
              function  del(delUrl){
              //给隐藏域赋值
              $("#url").val(delUrl);
              $("#myModal").modal("show");         
              }
           
           
           //模态窗口中的真正删除
           function  delSubmit(){
            window.location.href= $("#url").val();
           }
     </script>  -->
    <script type="text/javascript" src="js/jquery-1.8.2.min.js"></script>
    <script type="text/javascript">
    
    /* Ajax分页 */
      $(function(){
         //分页的四要素
         var pageIndex="";//当前页
         var pageSize="";//页大小
         var TotalPageCount="";//总页数
         var totalCountSize ="";//总记录数
         //用户第一次打开这个list.jsp页面什么数据都没有! 但是必须得有!!!访问后代数据库
         pageInit(pageIndex); // 初始化数据
     
          
      function  pageInit(pageIndex){
              $("#one").show();
              $("#back").show();
              $("#next").show();
              $("#last").show();//第一次显示所有的超链接
             alert(pageIndex);
              //使用ajax 访问servlet
              $.ajax({
                 url:"ProductServlet",
                 type:"POST",
                 data:{"pageIndex":pageIndex},//把用户传递的当前页 发送给后台servlet
                 dataType:"json",
                 contentType:"application/x-www-form-urlencoded;charset=utf-8",
                 success:callback//调用会调函数
              });}
              
              
              
             function callback(data){
                 
                
                 $("#tbody").html("");
                 $(data).each(function(){
                     if(this.util!=null){
                         //alert("页数"+this.util.pageIndex);
                         pageIndex=this.util.pageIndex;
                         pageSize=this.util.pageSize;
                         TotalPageCount=this.util.pageCount;
                         totalCountSize=this.util.totalCount;
                     }
         
                     $("#tbody").append("<tr><td style= 'text-align:left; padding-left:20px;'><input type='checkbox' name='id[]'value='hahha' />"+this.id+"</td>     "
                    + "                                                                                                                                              "
                    + "<td><input type='text' name='sort[1]' value='"+this.name+"' style='50px; text-align:center; border:1px solid #ddd; padding:7px 0;' /></td>  "
                    + "<td>"+this.description+"  </td>                                                                                                                       "
                    + "<td>"+this.price+"</td>                                                                                                                           "
                    + "<td><font color='#00CC99'>"+this.stock+"</font></td>                                                                                              "
                    + "<td>"+this.categoryLevel1Id+"</td>                                                                                                                "
                    + "<td>"+this.categoryLevel2Id+"</td>                                                                                                               "
                    + "<td>"+this.categoryLevel3Id+"</td>                                                                                                               "
                    + "<td>"+this.fileName+"</td>                                                                                                                       "
                    + "<td>"+this.isDelete+"</td>                                                                                                                       "
                    + "<td><div class='button-group'>                                                                                                                "
                    + "<a class='button border-main' href='product/update.jsp'><span class='icon-edit'></span> 修改</a>                                              "
                    + "<a class='button border-red' href='ProductServlet?action=del&id="+this.id+" /* href='#' onClick='del('delServlet?id="+this.id +"') */'>      "
                    + "<span class='icon-trash-o'></span>删除</a></td></tr>                                                                                          "
                                                                                                                                                                     
                     );
                    });  // each 
                 } // call back
             $("#one").click(function(){//首页
                  pageInit(1);
               });
               $("#last").click(function(){
                   pageInit(TotalPageCount);//尾页
               });
               $("#back").click(function(){//上一页
                 if((pageIndex-1)>0){
                     pageInit(pageIndex-1);
                 } else{
                     $("#one").hide();
                     $("#back").hide();
                 } 
               });
               
               $("#next").click(function(){//下一页
                   if((pageIndex+1)<TotalPageCount){
                       pageInit(pageIndex+1);
                   }else{
                       $("#last").hide();
                       $("#next").hide();
                   }
                   
                   
               });
    
      }
      );
      
    </script>
    </body>
    </html>

     

  • 相关阅读:
    3、字节流输入输出实现文件的copy
    2、io的读出数据到文件中的内容(文件字节输出流)
    1、io的读取文件中的内容(文件字节输入流)
    10 linux中运行jar
    Linux 部署 iSCSI 客户端配置(Linux)
    Linux 部署 iSCSI 服务端
    Linux上使用iSCSI概述
    SSH实现免密登陆
    源码安装Python3
    Windows(受控主机)上配置
  • 原文地址:https://www.cnblogs.com/cuixiaomeng/p/7484364.html
Copyright © 2011-2022 走看看