JSP实现分页查找功能

先在jsp中设置一组按钮用以实现页码的传递

<a href="javascript:void(0);" onclick="indexPage(this,${page})">&lt;&lt; 首页 </a>
<a href="javascript:void(0);" onclick="frontPage(this,${page})">    &lt; 上一页 </a>
<strong>第${page}页/共${maxPage}页</strong>
<a href="javascript:void(0);" onclick="nextPage(this,${page})">下一页 &gt;</a>
<a href="javascript:void(0);" onclick="lastestPage(this,${page})">末页 &gt;&gt;</a>

新建一个function.js文件用以存放不同按钮的点击函数

function nextPage(e,obj){
    obj=obj+1;
    console.log(obj);
    window.location.href="/Staff_ListServlet?page="+obj;
}

function  frontPage(e,obj){
    obj=obj-1;
    window.location.href="/Staff_ListServlet?page="+obj;
}

function indexPage(e,obj){
    obj=1;
    window.location.href="/Staff_ListServlet?page="+obj;
}

function lastestPage(e,obj){
    obj=100;
    window.location.href="/Staff_ListServlet?page="+obj;
}

设置一个单独的servlet来实现数据的传递

@WebServlet("/Staff_ListServlet")
public class Staff_ListServlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String _page = request.getParameter("page");
        request.setAttribute("page",_page);
        request.getRequestDispatcher("/jstl_test.jsp").forward(request,response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}

具体的取值操作将放在jsp文件中进行

String nowpage = (String) request.getAttribute("page");
    int pag=0;
    if (nowpage==""||nowpage==null){
        pag = 1;
    }else {
        pag=Integer.parseInt(nowpage);
    }
    if (pag>(employees2.size()%10+1)){
        pag = employees2.size()%10+1;
    }
    if (pag<1){
        pag=1;
    }
    ArrayList<Employees> list = new ArrayList<>();
    for (int i=(pag-1)*10;i<pag*10;i++){
        if (employees2.size()<i){
            break;
        }
        Employees employees1 = employees2.get(i);
        list.add(employees1);
    }
    request.setAttribute("List",list);

先获取总量的信息,按照每页展示的条数进行分组,将信息以setAttribute的方式传递


版权声明:本文为galaxy_stella原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。