查询分页显示后,点"下一页"等,它就变成总查询了,不知道怎么在<A Href=test.jsp?ToPage=<%= 1 %>>到第一页</A>行加查询条件代码,请各位帮哈忙!能写哈代码!谢谢
代码如下:<%!
static Logger log = Logger.getLogger("test.jsp");int PageSize = 6;    //每页显示的记录数量
int ShowPage = 1;    //设顶预显示页数
int RowCount = 0;    //数据库中的记录数
int PageCount = 0;   //总共要显示的页数if(request.getParameter("nameSearch") != null)
{
   if(request.getParameter("nameSearch").length() > 0)
   {   
   ShowPage = 1;
   
  sql = new String("....");
   }   if(request.getParameter("citySearch").length() > 0)
   {  
   ShowPage = 1;
   
  sql = new String(".......");
   }
 
   String timeTextStart = request.getParameter("timeTextStart");
   String timeTextEnd = request.getParameter("timeTextEnd");
   if((timeTextStart.length() > 0) && (timeTextEnd.length() > 0))
   {  
   ShowPage = 1;
  sql = new String("........");
   }
}
else
{
sql = new String(".......");
}rs = stmt.executeQuery(sql);
if(rs.next())
{
   rs.last();
   RowCount = rs.getRow();
   PageCount = ((RowCount % PageSize) == 0? (RowCount/PageSize) : (RowCount/PageSize)+1);
}
else
{
request.setAttribute("reportErr","Please Enter right information!");
%>
<jsp:forward page="reportErr.jsp"></jsp:forward>
<%
} String ToPage = request.getParameter("ToPage");
if(ToPage != null) 
{
ShowPage = Integer.parseInt(new String(ToPage.getBytes("ISO8859-1"),"UTF-8"));  
if(ShowPage > PageCount)  
{
ShowPage = PageCount;  
}
else if(ShowPage <= 0)
{
ShowPage = 1;  
}
}
rs.absolute((ShowPage - 1) * PageSize + 1);  
%>
</h3>
<form name="selectform" method="post" action="test.jsp">
  <H3 align="left">
    请选择姓名查看方式:
  </H3>
  <label>
      <input type="text" name="nameSearch" size="12" height="17.5"> //////
  </label>
  <h3 align="left">
  请选择城市查看方式:
  </h3>
  <label>
      <input type="text" name="citySearch" size="12" height="17.5"> //////
  </label>
  <h3 align="left">
  请选择日期查看方式:
  </h3>
  <label>
      <input type="text" name="timeTextStart" id="timeTextStart" size="12" height="17.5">/////
  </label>到
  <label>
      <input type="text" name="timeTextEnd" id="timeTextEnd" size="12" height="17.5">/////
  </label>
</form>
<H3 align="right">当前在第<FONT SIZE = 4 COLOR = red>
<%= ShowPage %></FONT>页, 共
<FONT SIZE = 4 COLOR = red>
<%= PageCount %></FONT>页</H3><TABLE>
<TR valign=baseline align=center>
<%
if(ShowPage != 1)
{
%>
<TD Width=150>
<A Href=test.jsp?ToPage=<%= 1 %>>到第一页</A>   //////////
</TD>
<TD Width=150>
<A Href=test.jsp?type=ToPage=<%= ShowPage - 1 %>>到上一页</A> ////////////
</TD>
<%
}
if(ShowPage != PageCount)
{
%>
<TD Width=150>
<A Href=test.jsp?ToPage=<%= ShowPage + 1%>>到下一页</A> ////////////
</TD>  
<TD Width=150>
<A Href=test.jsp?ToPage=<%= PageCount %>>到最后一页</A> ////////////
</TD>
<%
}
%>
</TABLE>
</body>
</html>

解决方案 »

  1.   

    <%
      int pageSize=3;  //每页显示的记录数
      int pageCount;  //总页数
      int rowCount;   //记录总数
      int currentPage;  //当前页码
      String receiveName=request.getParameter("receiveName");//传用户名的:
      String receivePage = request.getParameter("pageChoose");
      System.out.println("receivePage="+receivePage);
      if(receivePage!=null){
       currentPage=Integer.parseInt(receivePage);
    //currentPage-=1;
      }else{
      receivePage = request.getParameter("page");
      if(receivePage==null){
    currentPage=1;
      }else{
    currentPage=Integer.parseInt(receivePage);
    if(currentPage<1){
    currentPage=1;
    }
      }
      }
      
    %>
    <p align="center">&nbsp;当前用户:<%=receiveName%></p>
    <p align="center">&nbsp;
    <%
        Connection conn=null;
        Statement statesql=null;  
        ResultSet resultsetlist ;
        try{
           Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       conn=DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=E:\\developBlankMidWare\\server\\default\\deploy\\test.war\\database\\test.mdb","","");
       statesql=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
           resultsetlist= statesql.executeQuery("SELECT id,name,price,count FROM office ");

    //分页处理
    resultsetlist.last();
    rowCount=resultsetlist.getRow();//获取记录总数 
    pageCount=(rowCount+pageSize-1)/pageSize;//计算总页数
    if(currentPage>pageCount){
    currentPage = pageCount;
    }else
    if(currentPage<=1){
      resultsetlist.beforeFirst();
    }else{
    resultsetlist.absolute((currentPage-1)*pageSize);//计算当前页的列表号
    }
    %>
    <p align="center">办公用品信息浏览</p>
    <form  name="myForm" method="post" action="listview.jsp?receiveName=<%=receiveName%>">
    <p align="center">第<%=currentPage%>页 &nbsp;共<%=pageCount%>页 &nbsp;记录总数:<%=rowCount%> &nbsp;
    跳转到:
      <select name="pageChoose" onChange="pageGo()">
        <% for(int j=1;j<=pageCount;j++){   %>
        <option value="<%=j%>" <%if(currentPage==j)out.println("selected");%>><%=j%></option>
        <%}%>
      </select>
    &nbsp;</form>
    </p>
    <p align="center"> &nbsp;
    <%if(currentPage>1){%> <a href="listview.jsp?page=<%=currentPage-1%>&receiveName=<%=receiveName%>">上一页</a><%}%>&nbsp;
    <%if(currentPage<pageCount){%> <a href="listview.jsp?page=<%=currentPage+1%>&receiveName=<%=receiveName%>">下一页</a><%}%>
    </p>
      

  2.   

    没将查寻条件构造在querystring 中
    应该
    <a href="?key=something&page=1">首页</a>用户名最好还是放在session里
      

  3.   

    在“下一页”或“上一页”的链接中必须加上条件参数,否则就是all