做成通用的,可以使用xml+xsl+msxml+javascript就是固定xml格式这样在数据生成时采用固定格式,使用统一的xsl这样就可以做出通用的分页

解决方案 »

  1.   

    我现在用的就是XML,但我想问题不在与此,而是不能将海量数据一次推倒客户端。
    这就需要一个PageControl来控制分页显示的一些基本数据,但不知该如何实现?
      

  2.   

    我自己写的有一个,拿去用吧,代码如下:/*
     * 分页显示的函数display()
     * 此函数相关的所有参数列表如下:
     * sql:查询记录的sql语句select * from xxx where xxx=xxx
     * sendrowlength:每一条记录的栏目数
     * sendcurrentpage:要显示的页数
     */
     public String[][] display(String sql,String sendrowlength,String sendcurrentpage) throws IOException,SQLException
     {
    /*
     * 定义函数中的临时变量
     */
     int intcurrentpage;//要显示的页数(数字)
     String strcurrentpage=null;//要显示的页数(字符)
     int introwlength;//每条记录的栏目数(数字)
     String strrowlength=null;//每条记录的栏目数(字符)
     int introwcount;//总记录数(数字)
     String strrowcount=null;//总记录数(字符)
     int intpagecount;//总页数(数字)
     String strpagecount=null;//总页数(字符)
     //处理sql语句,保存到sql_count中
     String sql_count="select count(*) from"+sql.substring(sql.indexOf("from")+4);
     //获取要显示的页数
     strcurrentpage=sendcurrentpage;
     intcurrentpage=Integer.parseInt(strcurrentpage);
     //获取每条记录的栏目数
     strrowlength=sendrowlength;
     introwlength=Integer.parseInt(strrowlength);
     //定义字符串数组,作为返回值。
     //returnmessage[0][0]保存总记录数
     //returnmessage[1][0]保存总页数
     //returnmessage[2][0]保存返回的数组中记录的条数
     //returnmessage[3][x]-returnmessage[x][x]保存每条记录的每一个栏目的值
     String[][] returnmessage=new String[23][introwlength];
     //实例化javabean:Conn,查询数据库,获取总记录数
     Conn Conn=new Conn();
     Connection conn=Conn.getConnect();
     ResultSet rs=Conn.queryRS(conn,sql_count);
     introwcount=rs.getInt(1);
     strrowcount=Integer.toString(introwcount);
     //计算总页数
     intpagecount=(introwcount+19)/20;
     strpagecount=Integer.toString(intpagecount);
     //查询数据库,把每一条记录的值保存到数组中
     sql=sql+" limit "+(intcurrentpage-1)*20+",20";
     rs=Conn.queryRS(conn,sql);
     int i=3;
     while (rs.next())
     {
     int j=0;
     while (j++<introwlength)
     {
     if (rs.getString(j)!=null)
     {
     returnmessage[i][j-1]=rs.getString(j);
     }
     else
     {
     returnmessage[i][j-1]="";  }
     }
     i++;
     }
     Conn.dropRS(rs);
     Conn.dropConnect(conn);
     returnmessage[0][0]=strrowcount;
     returnmessage[1][0]=strpagecount;
     returnmessage[2][0]=Integer.toString(i-3);
     //返回值
     return returnmessage;
     }
      

  3.   

    可以这样考虑:
    一个PageControl类实现分页计算
    一个JAVABEAN(值对象)保存查询结果,"使用"或"继承"PageControl,放在session中
    一个xml文件保存JAVABEN的结构,如字段名称、类型、中文名称,是否显示、
        显示宽度、是否加链结、添加修改查询的链接URL、primarykey字段、字段值和
        标题的关系(如显示0 - 男,1 - 女,而不只是显示0或1)等等
    一个xlst文件显示xml文件和javabean的数据
    一个XmlTransformer处理转换过程
    一个标签类xsltTag在jsp页面中用来显示分页数据这样将来只要修改xml文件,不必写任何代码,只要在jsp中用:<html:xslt xslt="xls文件名称"/>