struts分页

来源:互联网 发布:福冈软件银行鹰 编辑:程序博客网 时间:2024/04/17 00:04

DBConnection.java类

package com.net.dao;
import java.sql.*;
public class DBConnection {
private Connection cn;
public DBConnection(Connection cn) {
super();
this.cn = cn;
}
public DBConnection() {
super();
// TODO Auto-generated constructor stub
}
private Connection getConnection(){
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
cn= DriverManager.getConnection("jdbc:sqlserver://127.0.0.1;databaseName=db_book","sa","123");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return cn;
}
public ResultSet getResultSet(String sql,Object args[]){
try {
PreparedStatement ps=this.getConnection().prepareStatement(sql);
if(args!=null){
for(int i=0;i<args.length;i++){
ps.setObject(i+1,args[i]);
}
}
return ps.executeQuery();

} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
}


DBcommend.java类package com.net.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

import com.net.Entity.books;

public class DBcommend {

public List getlist(int pid){
List list=new ArrayList();
DBConnection db=new DBConnection();
books book=null;
try {
int cnt=(pid-1)*books.pagetol;
String sql="select top (?) * from book where bookid not in(select top (?) bookid from book order by bookid desc) order by bookid desc";
ResultSet rs=db.getResultSet(sql, new Object[]{books.pagetol,cnt});
while (rs.next()) {
book=new books();
book.setBookid(rs.getInt("bookid"));
book.setBookname(rs.getString("bookname"));
book.setOuthor(rs.getString("bookouthor"));
list.add(book);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return list;
}
public int getcount(){
int count=0;
DBConnection db=new DBConnection();
try {
String sql="select count(*) from book";
ResultSet rs=db.getResultSet(sql,null);
rs.next();
count=rs.getInt(1);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return count;
}
}


数据库字段
books.java类


package com.net.Entity;

public class books {
public static final int pagetol=5;
private int bookid;
private String bookname;
private String outhor;
public int getBookid() {
return bookid;
}
public void setBookid(int bookid) {
this.bookid = bookid;
}
public String getBookname() {
return bookname;
}
public void setBookname(String bookname) {
this.bookname = bookname;
}
public String getOuthor() {
return outhor;
}
public void setOuthor(String outhor) {
this.outhor = outhor;
}

}


Pageinfo.java 分页属性

package com.net.Entity;

public class Pageinfo {
private int pid;
private int tallPage;
private int count ;
private String up;
private String down;
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public int getTallPage() {
return tallPage;
}
public void setTallPage(int tallPage) {
this.tallPage = tallPage;
}
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getUp() {
return up;
}
public void setUp(String up) {
this.up = up;
}
public String getDown() {
return down;
}
public void setDown(String down) {
this.down = down;
}


}


BookAction.java (Action)类


/*
 * Generated by MyEclipse Struts
 * Template path: templates/java/JavaClass.vtl
 */
package com.yourcompany.struts.action;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.net.Entity.Pageinfo;
import com.net.Entity.books;
import com.net.dao.DBConnection;
import com.net.dao.DBcommend;


public class BookAction extends Action {

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String pid1=request.getParameter("id");
if(pid1==null || pid1.equals("")){
pid1="1";
}
int pid=Integer.parseInt(pid1);
DBcommend db=new DBcommend();
Pageinfo page=new Pageinfo();
List list=db.getlist(pid);
int count=db.getcount();
System.out.println(count);
int tollPage=(int)Math.ceil(count*1.0/books.pagetol);
page.setCount(count);
page.setTallPage(tollPage);
page.setPid(pid);
String up="javascript:;";
String down="javascript:;";
if(pid==1 && tollPage>1){
down="book.do?id="+(pid+1);
}else if(tollPage>1 && pid==tollPage){
up="book.do?id="+(pid-1);
}else if(pid>1 && pid<tollPage){
up="book.do?id="+(pid-1);
down="book.do?id="+(pid+1);
}
page.setUp(up);
page.setDown(down);
request.setAttribute("list", list);
request.setAttribute("page", page);
return mapping.findForward("index");
}
}

struts-config.xml 配置文件


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">

<struts-config>
  <data-sources />
  <form-beans />
  <global-exceptions />
  <global-forwards />
  <action-mappings >
  <action path="/book" type="com.yourcompany.struts.action.BookAction">
  <forward name="index" path="/index.jsp" />
  </action>

  </action-mappings>

  <message-resources parameter="com.yourcompany.struts.ApplicationResources" />
</struts-config>


index.jsp jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
  <head>
  <title>My JSP 'index.jsp' starting page</title>

  </head>
  
  <body>
  <table border="1">
  <tr>
  <td>序列</td>
  <td>书名</td>
  <td>作者</td>
  </tr>
  <c:forEach items="${requestScope.list}" var="li">
  <tr>
  <td>${li.bookid }</td>
  <td>${li.bookname }</td>
  <td>${li.outhor }</td>
  </tr>
  </c:forEach>
  </table>
  <a href="book.do">首页</a>
  <a href="${requestScope.page.up}">上一页</a>
  <a href="${requestScope.page.down }">下一页</a>
  <a href="book.do?id=${requestScope.page.tallPage}">尾页</a>
  当前页${requestScope.page.pid }/${requestScope.page.tallPage } &nbsp;&nbsp;&nbsp;共有记录&nbsp;${requestScope.page.count }&nbsp;条
  </body>
</html>


接复制 数据库
 数据库名:db_book;
 表名:book;
 字段1 :bookid;
 字段2:bookname;
 字段3:outhor;

以上是分页全部代码 直接复制 加分吧亲手帮你敲的?

原创粉丝点击