Javaweb 간단한 페이징 구현 :
이번에는 주로 로그인 한 후 얻은 데이터의 페이지를 설명합니다. 먼저 새 로그인 페이지 로그인을 만듭니다. 우리는 주로 페이징을 배우기 때문에 로그인 검증 부분은 설명되지 않습니다. 기본 코드는 다음과 같습니다.
<form action = "pageServlet"> username : <input type = "text"name = "username"> <br> 비밀번호 : <input type = "text"name = "password"> <br> <input type = "value ="제출 "> </form>
먼저 엔티티 클래스 user.java를 만들고 get and set 메소드를 추가하십시오.
공개 클래스 사용자 {개인 문자열 사용자 이름; 개인 문자열 비밀번호; public String getUserName () {return username; } public void setusername (String username) {this.username = username; } public String getPassword () {return password; } public void setpassword (문자열 비밀번호) {this.password = password; }}양식 양식이 PageserVlet에 제출되어 새로운 PageServlet을 생성하고 서블릿에서 데이터를 가져 와서 일부 페이지 매김 준비를합니다. 구체적인 의미는 주석을 참조하여 이해할 수 있습니다. PageServlet 코드 :
공개 클래스 PageServlet은 httpservlet {public void doget (httpservletrequest request, httpservletreponse response)를 servletexception, ioexception {list = new arraylist <user> (); // 여기서는 더 이상 데이터베이스에 연결하지 않고 가상 데이터를 사용하여 효과를 테스트합니다. 친구는 데이터베이스에 연결하여이를 쿼리하고 (int i = 1; i <7; i ++)에 대한 목록을 반환 할 수 있습니다. {user user1 = new user (); user1.setusername ( "th" + i + "user names"); user1.setpassword ( "th" + i + "password"); list.add (user1); } httpsession session = request.getSession (); // 세션에서 데이터를 저장하여 session.setattribute ( "userList", list)의 획득을 용이하게합니다. // 현재 페이지의 페이지 수를 가져 와서 int 유형으로 변환하고 마지막으로 데이터를 세션 int pagenos에 저장합니다. if (request.getParameter ( "pagenos") == null || integer.parseint (request.getParameter ( "pagenos")) <1) {pagenos = 1; } else {pagenos = integer.parseint (request.getParameter ( "pagenos")); } session.setattribute ( "pagenos", pagenos); // 총 페이지 수를 정의하고 세션에 저장 int countpage = 3; // 실제 개발에서 총 페이지 수는 SQL 문을 기반으로 총 페이지 수에서 얻은 다음 페이지 당 조각 수를 나누어 총 페이지 수 세션 수를 얻습니다. request.getRequestDispatcher ( "index.jsp"). FORMPER (요청, 응답); } public void dopost (httpservletRequest 요청, httpservletResponse 응답) servletexception, ioexception {}}위의 코드에서는 결국 index.jsp 페이지로 전달됩니다. 현재 모든 데이터는 index.jsp에 표시되고 JSTL 및 EL 표현식을 사용하여 얻을 수 있습니다. index.jsp의 기본 코드는 다음과 같습니다.
<body> <c : foreach items = "$ {userList}"var = "user"begin = "$ {(pagenos-1)*2}"end = "$ {pagenos*2-1}"> <center> <div> $ {user.username} </div> </center> <center> <div> $ {user> </c : foreach> </c : foreach>. <c : if test = "$ {pagenos> 1}"> <a href = "pageServlet? pagenos = 1"> home </a> <a href = "pageServlet? pagenos = $ {pagenos-1}"> 이전 페이지 </a> </c : if> <c : test = "$ {pagenos <countpage}"> <a. href = "pageServlet? pagenos = $ {pagenos+1}"> 다음 페이지 </a> <a href = "pageServlet? pagenos = $ {countpage}"> 마지막 페이지 </a> </c : if> </center> <form action = "pageServlet"> <h4 align = "Center"> 총 $} 페이지 < "텍스트" value = "$ {pagenos}"name = "pagenos"size = "1"> page <input type = "value ="go "> </h4> </form> </body>두 번째 줄에서는 <c : foreach>를 사용하여 session.setattribute ()에서 내용을 가져옵니다. 여기서는 페이지 당 두 개의 데이터가 기본값이므로 (Pagenos-1)*2입니다. 페이지 당 N 데이터의 데이터가 있다면 2를 N으로 변경해야합니다. 물론 N을 백그라운드 서블릿에서 얻을 수도 있습니다.
동시에 index.jsp에서 jstl 표현식을 사용하기 때문에 참조를 가져 오십시오.
<%@taglib prefix = "c"uri = "http://java.sun.com/jsp/jstl/core"%>
이 시점에서 우리는 간단한 페이지 매김을 완료하고 가서 시도해보십시오.
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!