我现在在从事jsp编程,现在碰到个问题!!客户要这样实现:
  比如有一个"中心信息",在表中有多条这方面的数据,都要从表中提取其相关数据,然后按1,2,3,4,5,...列出来,这个都没问题!做分页也很简单,但问题是,如果我点1,要显示其标题里的信息时,如果其字符很多(从表中提取数据),一页显示不下这么多字符,我想分页,这怎么实现????

解决方案 »

  1.   

    楼上说的对。我感觉这个实现起来真的很难,先不管客户的要求了,我在想这样技术上能实现吗??我从事jsp开发时间不长,就几个月。还请高手指点,小弟不胜感激!!!
      

  2.   

    我曾经用javabean做了一个很简单的新闻分页显示
    数据库用的是oracle。
    javabean写的很简单,其中有一个方法是query,是专门用来返回查询结果集的,并且打包在了oracle目录下,java程序的名字是oracle.java
    查询的数据库的表是news
    下边是原程序,希望对你有帮助<%@ page contentType="text/html;charset=GBK"%>
    <%@ page import="java.sql.*"%>
    <jsp:useBean id="conn" scope="page" class="oracle.oracle"/>

    <%!
    ResultSet rs=null;
    ResultSet rsTmp=null;
    String sql="";
    int PageSize=4;
    int Page=1;
    int totalPage=0;
    String str="";
    int a[]=new int[4];public String ShowOnePage(ResultSet rs,int Page,int PageSize){
    str="";
    //先将记录指针定位到相应位置
    try{
                   System.out.println((Page-1)*PageSize+1);
    rs.absolute((Page-1)*PageSize+1);
    }catch(SQLException e){
    }
    for(int i=0; i<PageSize; i++){
    str += RsToGbook(rs);
                    System.out.println(str);
                  try{
                    a[i]=rs.getInt("id");

    if(!rs.next())break;
    }catch(Exception e){
    e.printStackTrace();
    }
    }
    return str;
    }
    //显示单行记录子模块
    public String RsToGbook(ResultSet rs){
    String text="";
                    
    try{
    text +="<tr>";
    text +="<td><a href=newswind.jsp?id="+rs.getInt("id")+">" + rs.getString("title") + "</a></td>";
    text +="<td>" + rs.getString("author") + "</td>";
    text +="<td>" + rs.getString("date") + "</td>";

    text +="</tr>";
    }catch(Exception e){
    e.printStackTrace();
    }
    return text;
    }
    %>

    <%
    sql = "select * from news";
    try{
    rs = conn.query(sql);
          
            System.out.println(rs);
    }catch(Exception e){
    out.println("wrong of the db");
    }
    %>
    <html>
    <head>
    <title>news</title>
    </head>


    <body bgcolor="#FFFFFF">


    <h2 align="center">news of chelin</h2>


    <hr>
    <center>
    <table border>
    <tr bgcolor=lightblue>
    <td>title</td>
    <td>author</td>
    <td>date</td>

    </tr>
    <%
    rsTmp=conn.query("select count(*) as mycount from news");
    rsTmp.next();
    int totalrecord=rsTmp.getInt("mycount");
    if(totalrecord % PageSize==0) totalPage=totalrecord/PageSize;//如果是当前码的整数倍
    else totalPage=(int)Math.floor(totalrecord/PageSize)+1;//如果最后还空余一页

    if(totalPage==0)  totalPage=1;
    rsTmp.close();


    try{
    if(request.getParameter("Page")==null||request.getParameter("Page").equals(""))
    Page=1;
    else
    Page=Integer.parseInt(request.getParameter("Page"));
    }catch(java.lang.NumberFormatException e){
    Page=1;
    }
    if(Page<1) Page=1;
    if(Page>totalPage) Page=totalPage;


    out.println(ShowOnePage(rs,Page,PageSize));
    %>
    </table>
    <form Action="default.jsp" method="get">
    <%
    rs.close();
    %>
    <p>input number of page:<input type="text" name="Page" size="3">number of page:<fontcolor="red"><%=Page%>/<%=totalPage%></font>
    </p>
    </form>
        <h3><a href=newsedit.jsp?id1=<%=a[0]%>&id2=<%=a[1]%>&id3=<%=a[2]%>&id4=<%=a[3]%>>edit news</a></h3>
        <h3><a href=newssearch.jsp>search news</a></h3>
    </center>
    <hr>
    </body>
    </html>