Jsp+struts分页显示源码_JSP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:Struts初级教程(6)-使用模块
模块化编程是目前趋势,即把项目分成了多个模块交由不同小组开发。 使用Struts框架时,每个请求都由Action去处理,并且还要在struts-config.xml中加以设定,这样以来做小项目还行,在大型网站的开发中,有很多小组负责不同的模块,如果每一个小组要对一个str

主要有三个文件:show.jsp、ShowAction.java、PageInformation.java

环境是:JDK1.6+mysql5.0+jboss4.0+struts 2.0.11

还需完善的地方:如果没有前一页、后一页,直接把这个链接在页面上屏蔽掉
因为不想在Action里面有太多的链接数据库的代码,所以另外搞了一个PageInformation类,来完成数据库查询工作。

具体代码如下:
package com.ClockWise.ray.jsp;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
/* 
 * 此类用来完成数据库操作 
 * */
public class PageInformation { 
             private int pageSize;//每一页包含的条目个数 
             private int totalRows;//一共有多少行 
             private int totalPages;//一共有多少页 
             private int currentPage=1;//初始化当前页为第一页 
             private boolean hasPrevious = false;//是否有前页,尚未使用,有待完善 
             private boolean hasNext = false;//是否有后页,尚未使用,有待完善 
             private ArrayList<User> list = new ArrayList<User>();//存放结果的列表 
             private DatabaseGeneralServices dgs;//自己写的获得connection的类,可以自己实现 
             private Connection conn;           
             private PreparedStatement ps; 
             private ResultSet rs; 

             public PageInformation(){ 
             dgs = DatabaseGeneralServices.getInstance(); 
             pageSize = 20;//每页设置为20条 
             totalRows = initRowCount();//得到总行数,比较粗犷,不知有什么灵巧的方法,比如select count(*)... 
             totalPages =((totalRows+pageSize)-1)/pageSize;//获得总页数 
             initList(1); 
               } 
            /* 
             * 每次查询只取20条,封装为一个列表,返回。参数是当前页号,在构造函数中默认为第一页 
      * */ 
             private void initList(int currentPage){ 
                 list.removeAll(list); 
             conn = dgs.getConnection(); 
             try{ 
                        ps = conn.prepareStatement("Select * FROM jsptest LIMIT ?,20"); 
                        int temp = (currentPage-1)*20; 
                        ps.setInt(1, temp); 
                        rs = ps.executeQuery(); 
                        while (rs.next()){ 
                                 User user = new User(); 
                                 user.setId(rs.getString(1)); 
                                 user.setName(rs.getString(2)); 
                                 list.add(user); 
                        } 
             }catch(SQLException e){ 
                        e.printStackTrace(); 
             }finally{ 
                        dgs.closeConnection(rs, ps, conn); 
             } 
             } 

分享:Struts初级教程(5)-表单验证
应该清楚在Struts框架中,使用ActionFormBean来实现应用程序系统的非持久性数据存储和维护功能,它采用了自动填充属性和调用的机制。所以必须继承ActionForm类,并且包涵用户表单输入的属性,以及相应的get方法和set方法。另外,还可以根据需要重写父类的res

共3页上一页123下一页
来源:模板无忧//所属分类:JSP教程/更新时间:2010-03-19
相关JSP教程