素材网 素材网

今天无意中看到一篇关于Java实现分页代码【下】

xw素材网
0

接住上篇的继续


看这里我们引入了jstl.jar standard.jar sqljdbc.jar pagination.jar四个jar包 缺一不可奥。

下面我们创建一个实体类,代码如下: 

public class UserInfo {  
    private int userID;  
    private String userName;  
    private String userPassword;  
 public int getUserID() {  
  return userID;  
 }  
 public void setUserID(int userID) {  
  this.userID = userID;  
 }  
 public String getUserName() {  
  return userName;  
 }  
 public void setUserName(String userName) {  
  this.userName = userName;  
 }  
 public String getUserPassword() {  
  return userPassword;  
 }  
 public void setUserPassword(String userPassword) {  
  this.userPassword = userPassword;  
 }  
     
}

实体类我们创建完毕,现在我们创建servlet:

import java.io.IOException;  
import java.util.ArrayList;  
import java.util.List;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import com.ant.util.Call;  
import com.ant.util.Pagination;  
import com.xuyesheng.entity.UserInfo;  
public class PageServlet extends HttpServlet {  
   
 public void doGet(HttpServletRequest request, HttpServletResponse response)  
   throws ServletException, IOException {  
  this.doPost(request, response);  
 }  
 public void doPost(HttpServletRequest request, HttpServletResponse response)  
   throws ServletException, IOException {  
  //取得jsp页面传递来的页数,参数名 index 不可更改  
  String index = request.getParameter("index");  
  int num = 0;  
  if (index == null) {  
   num = 1;  
  } else {  
   num = Integer.parseInt(index);  
  }  
  //创建封装数据类的对象 call  
  Call call = new Call();  
  //创建数组存储 存储过程的参数  
  Object obj[] = { "userInfo", "*", "userID", 5, num+"", 0+"", 0+"" };  
  //调用执行存储过程的方法  
  List li = call.execProcedure(  
    "com.microsoft.sqlserver.jdbc.SQLServerDriver",  
    "jdbc:sqlserver://localhost:1433;databaseName=pagination",  
    "sa", "as", obj, UserInfo.class);  
  //保存用户名  
  List<String> list = new ArrayList<String>();  
  //便利集合  
  for (int i = 0; i < li.size(); i++) {  
   UserInfo ui = (UserInfo) li.get(i);  
   list.add(ui.getUserName());  
   list.add(ui.getUserPassword());  
  }  
  //创建 分页对象  
  Pagination p = new Pagination();  
  //设置页数  
  p.setIndex(num);  
  //设置页大小  
  p.setPageSize(Integer.parseInt(obj[3].toString()));  
  //设置总共的条数  
  p.setTotle(call.getTotle());  
  //设置数据  
  p.setData(list);  
  //跳转的路径  
  p.setPath("page.do?");  
  request.setAttribute("page", p);  
  request.getRequestDispatcher("index.jsp").forward(request, response);  
 }  
}

到这里我们就差一个页面了:

页面代码如下: 

<%@ page language="java"  pageEncoding="GBK"%>  
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>  
<html>  
  <head>  
    <title>java通用分页显示数据</title>  
  </head>  
  <body>  
 <table width="507" height="160" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#999900">  
         <tr>  
           <td  height="40" align="center" valign="middle" bgcolor="#FF9999"><h2>许业生用java实现通用分页功能</h2></td>  
         </tr>  
         <tr>  
           <td  height="35" align="center" valign="middle" bgcolor="#FF9999"><h3>用户名</h3></td>  
           
         </tr>  
          <c:forEach items="${requestScope.page.data}" var="li" >  
         <tr>  
           <td height="35" align="center" valign="middle" bgcolor="#CC99CC" >  
      <c:out value="${li}"/>  
    </td>  
         </tr>  
         </c:forEach>  
         <tr>  
           <td height="40"  align="center" valign="middle" ><c:out value="${requestScope.page.pageDisplay}" escapeXml="false"/></td>  
         </tr>  
       </table>  
  </body>  
</html>

其中web.xml文件中的servlet的路径配置如下:

 <?xml version="1.0" encoding="UTF-8"?>  
<web-app version="2.4"  
 xmlns="http://java.sun.com/xml/ns/j2ee"  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee  
 http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  
  <servlet>  
    <description>通用分页Servlet</description>  
    <servlet-name>PageServlet</servlet-name>  
    <servlet-class>com.xuyesheng.servlet.PageServlet</servlet-class>  
  </servlet>  
  <servlet-mapping>  
    <servlet-name>PageServlet</servlet-name>  
    <url-pattern>/page.do</url-pattern>  
  </servlet-mapping>  
  <welcome-file-list>  
    <welcome-file>index.jsp</welcome-file>  
  </welcome-file-list>  
</web-app>

然后我们将刚才的三个.java文件打成JAR包,下次我们用的时候直接导入这个jar包就行了。

@ 2013 xwcms.net . All Rights Reserved. xw素材网 | 备案号:晋ICP备13005902号 联系管理员
×

邮箱订阅

什么是邮箱订阅?

邮箱订阅是xw素材网为jquery爱好者与web程序员提供一项以邮箱的方式发送最新jquery资源与素材资源的模式,用户只需在左侧填写正确的邮箱用户名与邮箱地址我们将每天推荐最新优质资源到用户邮箱。当然每份邮箱都会有一个取消订阅按钮,当用户点击取消按钮时我们将会停止对用户发送邮箱资源推送。再次感谢大家对xw素材网的支持与关注。