ListAction.java

package com.sy.action;

import java.util.List;

import com.opensymphony.xwork2.ActionSupport;
import com.sy.dao.AdminDao;
import com.sy.dao.NewsDao;
import com.sy.dao.impl.AdminDaoImpl;
import com.sy.dao.impl.NewsDaoImpl;
import com.sy.vo.Admin;
import com.sy.vo.News;

public class ListAction extends ActionSupport {

private static final long serialVersionUID = 1L;
        int i=1;//中间变量
    private int k;//储存最大页面数
    private int pageNow=1; //页码数,初始为1
    private int pageSize = 5 ; //页面行数
    private int intRowCount;//总行数
    private int intPageCount;//总页数
    private Admin admin;
    private List<Admin> Adminss;
    private News news;
    @SuppressWarnings("unchecked")
    private List<News> Newss;
    
    private int id;
    private int aid;

public News getNews() {
        return news;
    }

public void setNews(News news) {
        this.news = news;
    }

@SuppressWarnings("unchecked")
    public List<News> getNewss() {
        return Newss;
    }
    public void setNewss(List<News> newss) {
        Newss = newss;
    }

public int getId() {
        return id;
    }

public void setId(int id) {
        this.id = id;
    }
    public Admin getAdmin() {
        return admin;
    }

public void setAdmin(Admin admin) {
        this.admin = admin;
    }

public List<Admin> getAdminss() {
        return Adminss;
    }

public void setAdminss(List<Admin> adminss) {
        Adminss = adminss;
    }
    public int getAid() {
        return aid;
    }

public void setAid(int aid) {
        this.aid = aid;
    }

public int getPageNow() {
        return pageNow;
    }

public void setPageNow(int pageNow) {
        this.pageNow = pageNow;
    }

public int getPageSize() {
        return pageSize;
    }

public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }
    public int getIntRowCount() {
        return intRowCount;
    }

public void setIntRowCount(int intRowCount) {
        this.intRowCount = intRowCount;
    }

public int getIntPageCount() {
        return intPageCount;
    }

public void setIntPageCount(int intPageCount) {
        this.intPageCount = intPageCount;
    }
    public int getK() {
        return k;
    }

public void setK(int k) {
        this.k = k;
    }
@SuppressWarnings("unchecked")
    @Override
//显示新闻列表
    public String execute() throws Exception {

NewsDao npage=new NewsDaoImpl();
        intRowCount=npage.count();
        k=(intRowCount + pageSize - 1) / pageSize;
        intPageCount = (intRowCount + pageSize - 1) / pageSize;//计算出总页数
        if(pageNow<1){
            pageNow=1;
        }
        
        if(pageNow > intPageCount)
             pageNow=intPageCount;
             i = (pageNow -1)*pageSize;
        NewsDao nlist=new NewsDaoImpl();
        if(null!=nlist.queryByPage(i,pageSize)){
        Newss = nlist.queryByPage(i,pageSize);
            return SUCCESS;
        }else{
            return "failure";
        }
    }
          ..
}

listNews.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%
    String path = request.getContextPath();
    String basePath = request.getScheme() + "://"
            + request.getServerName() + ":" + request.getServerPort()
            + path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <base href="<%=basePath%>">
        <title>My JSP 'index.jsp' starting page</title>
    </head>
    <body>

..

<center>
        共<s:property value="intRowCount"/>记录  
        第<s:property value="pageNow"/>页  
         <s:url id="url_pre" value="list.action">   
         <s:param name="pageNow" value="pageNow-1"></s:param>   
     </s:url>   
 
     <s:url id="url_next" value="list.action">   
         <s:param name="pageNow" value="pageNow+1"></s:param>   
     </s:url>   
     <s:iterator value="Newss" status="status">   
        <s:url id="url" value="list.action">   
            <s:param name="pageNow" value="pageNow"/>   
        </s:url>   
     </s:iterator>    
     <s:if test="pageNow==1">
    <s:a href="%{url_pre}">最前一页</s:a>
     </s:if>
     <s:else>
     <s:a href="%{url_pre}">上一页</s:a>
     </s:else>
     <s:if test="pageNow==k">
     <s:a href="%{url_next}">最后一页</s:a>
       </s:if>
       <s:else>
       <s:a href="%{url_next}">下一页</s:a>
       </s:else>
       </center>
    </body>
</html>

NewsDao.java

package com.sy.dao.impl;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import com.sy.dao.NewsDao;
import com.sy.util.DataBaseConnection;
import com.sy.util.StringUtil;
import com.sy.vo.News;

public class NewsDaoImpl implements NewsDao {
          
        
        //获取分页新闻列表
    @SuppressWarnings("unchecked")
    public List<News> queryByPage(int i,int pageSize){
        List<News> newss=new ArrayList();
        
        PreparedStatement pstmt    = null ;
        String sql                = null ;
        ResultSet rs            = null ;
        DataBaseConnection dbc    = null ;
        dbc = new DataBaseConnection() ;

sql = "select * from struts2new order by id asc limit " + i + "," + pageSize;
        try
        {        
            
            pstmt = dbc.getConnection().prepareStatement(sql);
            
            rs = pstmt.executeQuery() ;
            while(rs.next())
            {
                News news=new News();
                news.setId(rs.getInt("id"));
                news.setName(rs.getString("name"));
                news.setTitle(rs.getString("title"));
                news.setDate(rs.getString("date"));
                news.setEmail(rs.getString("email"));
                news.setContent(rs.getString("content"));
                i++;
                newss.add(news);
            }
            rs.close() ;
            pstmt.close() ;
        }
        catch(Exception e)
        {
            System.out.println(e) ;
        }
        finally
        {
            dbc.close();
        }
        return newss;
    }
             //查询总行数
    public int count() {
        int intRowCount = 0;//总行数
        PreparedStatement pstmt    = null ;
        String sql                = null ;
        ResultSet rs            = null ;
        DataBaseConnection dbc    = null ;
        dbc = new DataBaseConnection() ;

sql = "select count(id) from struts2new order by id asc";
        try
        {            
            pstmt = dbc.getConnection().prepareStatement(sql);
            rs = pstmt.executeQuery();
            rs.next();//游标指向第一行
            intRowCount=rs.getInt(1);//取得总行数
            rs.close() ;
            pstmt.close() ;
        }
        catch(Exception e)
        {
            System.out.println(e) ;
        }
        finally
        {
            dbc.close();
        }
        return intRowCount;
    }
}

java 分页的更多相关文章

  1. 数据你把它的金额-JAVA分页

    数据量你造吗-JAVA分页 原创地址:   http://www.cnblogs.com/Alandre/  (泥沙砖瓦浆木匠),须要转载的,保留下! Thanks 学习的心态第一,解行要对应. 事实 ...

  2. 浅谈Java分页技术

    话不多言.我们要实现java分页技术,我们首先就需要定义四个变量,他们是: int  pageSize;//每页显示多少条记录 int pageNow;//希望现实第几页 int pageCount; ...

  3. 一个方便的java分页算法

    一个好用的java分页算法,代码如下,只需要分页参数继承Pageable类就可以很方便分页了 package cn.com.base.common.pagination; /** * 分页基类 * * ...

  4. [Java] 一种好的JAVA分页实现

    喃都不说了,贴代码,意思都在代码里面了 Page.java //分页类.定义分页字段信息,供前台页面使用 package com.core.common; import java.util.List; ...

  5. JAVA 分页工具类及其使用

    Pager.java package pers.kangxu.datautils.common; import java.io.Serializable; import java.util.List; ...

  6. pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页

    java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...

  7. java 分页功能

    1.分页工具类 package com.bw.shop.util; import java.util.List; import com.sun.org.apache.regexp.internal.r ...

  8. Java分页需求

    近期在实现项目接口时,经常需要分页功能.有时返回“String”,有时是“Object”格式的分页List.针对这种情况,本人用java实现对List分页. 第一版 package org.sun.j ...

  9. java分页问题

    问题一:所有数据分页显示后 点击下一页跳转到第二页后 填写查询条件在点击查询按钮,分页出现问题(页码有问题) 默认没有从第一页开始显示 解决方案:问题出在取的当前页有问题,把当前页设置为第一页(0), ...

  10. Java 分页通用

    1.定义分页模型:PageModel package com.common.page; import java.util.List; /** * 封装分页信息 * @author Administra ...

随机推荐

  1. js自动判断浏览器类型跳转到手机版

    //电脑版头部写法:<script language="javascript"> function is_mobile() { var regex_match = /( ...

  2. HDU 1272 小希的迷宫 (水题)

    题意: 其实就是让你判断一个图是否为树,要求不能有孤立的点(没有这中情况),且只能有1个连通图,且边数+1=点数,且每个点都有边(不可能只有1个点出现). 思路: 有可能出现连续的4个0,也就是有测试 ...

  3. Android下二维码的扫描

    Android平台下 二维码的扫描一般采用: Zxing:参考地址 Zxing功能比较强大,支持条形码和二维码的扫描,用的人也比较多,但是Zxing太大,一般开发简单的app,用起来比较麻烦. 所以网 ...

  4. 【jQuery】jQuery筛选器规则

    转载自:http://blog.csdn.net/lijinwei112/article/details/6938134 筛选器中加入变量 var ac = "select_" + ...

  5. 【转】匹配dll(exe)和pdb方法

    1. 静态检查windbg 调试工具包中有一个工具symchk.exe, 选项很多, 下面一个简单的用法可以检查一个 test.exe能不能找到与它匹配的PDB: 这是成功的情形. 下面来个失败的作为 ...

  6. hdu 2870(dp求最大子矩阵)

    题意:让你求的是由同一字母组成的最大子矩阵,w可以变成a或者b,x可以变成b或者c,y可以变成a或者c,z可以变成a或者b或者c. 分析:这是hdu 1506.hdu 1505的加强版,具体的分析看我 ...

  7. Visual Studio 2010中创建ASP.Net Web Service

    转自:http://blog.csdn.net/xinyaping/article/details/7331375 很多人在论坛里说,在Visual Studio 2010中不能创建“ASP.Net ...

  8. bjfu1235 两圆公共面积

    给定两个圆,求其覆盖的面积,其实也就是求其公共面积(然后用两圆面积和减去此值即得最后结果). 我一开始是用计算几何的方法做的,结果始终不过.代码如下: /* * Author : ben */ #in ...

  9. 第一个简单的android项目

    开发平台:windows7+Eclipse+andriod SDK(24.0)+ADT(23.0.4).这个环境的搭建在前一篇文章(Mobile testing下的appium测试)里面已经描述了. ...

  10. Linux基本命令(4)有关关机和查看系统信息的命令

    有关关机和查看系统信息的命令 命令 说明 shutdown 正常关机 reboot 重启计算机 ps 查看目前程序执行的情况 top 查看目前程序执行的情景和内存使用的情况 kill 终止一个进程 d ...