问题描述
<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="java.sql.*,java.io.*,java.util.*"%><HTML><BODY><%!intpageSize=3;//每页显示的记录数。intpageCount=0;//分页后的总页数。%><%--客户通过表单提交欲要显示的页码数--%><FORMaction=""method="get">输入页码数<InputType="text"name="showPage"size=4><InputType="submit"name="g"value="提交"></FORM><%try{Stringdbpath=application.getRealPath("test.mdb");//转化成物理路径Stringdbname="";Stringuser="";Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionconn=DriverManager.getConnection("jdbc:odbc:Driver={MicrosoftAccessDriver(*.mdb)};DBQ="+dbpath);Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);Stringname=request.getParameter("name");if(name==null){name="";}byteb[]=name.getBytes("ISO-8859-1");name=newString(b);Stringsql="SELECT*FROMkehuWHERE姓名like"+"'%"+name+"%'"+"OR公司like"+"'%"+name+"%'"+"OR职务like"+"'%"+name+"%'"+"OR电话like"+"'%"+name+"%'"+"OR城市like"+"'%"+name+"%'"+"OR国家like"+"'%"+name+"%'";ResultSetrs=stmt.executeQuery(sql);//将游标移动到最后一行:rs.last();//获取最后一行的行号:intlastRow=rs.getRow();//计算分页后的总页数:pageCount=(lastRow%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1);//当前显示的初始页数:intshowPage=1;//告知客户总页数:%><P>共有<%=pageCount%>页<BR>每页显示<%=pageSize%>条记录.<%//获取客户想要显示的页数:Stringinteger=request.getParameter("showPage");if(integer==null){integer="1";}try{showPage=Integer.parseInt(integer);}catch(NumberFormatExceptione){showPage=1;}if(showPage<=1){showPage=1;}if(showPage>=pageCount){showPage=pageCount;}%><BR>目前显示第<%=showPage%>页<BR><ahref="page.jsp?showPage=1">首页</a><%if(showPage<pageCount){%><ahref="page.jsp?showPage=<%=showPage+1%>">下一页</a><%}%><%if(showPage>1){%><ahref="page.jsp?showPage=<%=showPage-1%>">上一页</a><%}%><ahref="page.jsp?showPage=<%=pageCount%>">尾页</a><%//如果要显示第showPage页,那么游标应移到posion的值是:intposion=(showPage-1)*pageSize+1;rs.absolute(posion);//设置游标的位置out.print("<TableBorder>");out.print("<TR>");out.print("<THwidth=100>"+"姓名");out.print("<THwidth=100>"+"公司");out.print("<THwidth=100>"+"职务");out.print("<THwidth=100>"+"电话");out.print("<THwidth=100>"+"城市");out.print("<THwidth=100>"+"国家");out.print("</TR>");for(inti=1;i<=pageSize;i++){out.print("<TR>");out.print("<TD>"+rs.getString("姓名")+"</TD>");out.print("<TD>"+rs.getString("公司")+"</TD>");out.print("<TD>"+rs.getString("职务")+"</TD>");out.print("<TD>"+rs.getString("电话")+"</TD>");out.print("<TD>"+rs.getString("城市")+"</TD>");out.print("<TD>"+rs.getString("国家")+"</TD>");out.print("</TR>");rs.next();}out.print("</Table>");conn.close();}catch(SQLExceptione1){out.print(""+e1);}%></BODY></HTML>PS:前一个页面只是输入一个查询条件NAME,然后POST到这个页面,点击上一页面的SUBMIT按钮后跳转的这页的时候查询条件和显示都正常,但是点击本页的任何一个按钮,都会立刻变成全字段的查询。我现在只是想实现模糊查询后的数据分页。请高手帮帮忙,谢谢
解决方案
解决方案二:
引用楼主alex_yyf的回复:
<FORMaction=""method="get">输入页码数<InputType="text"name="showPage"size=4><InputType="submit"name="g"value="提交"></FORM>
改成<FORMaction=""method="get">输入页码数<InputType="text"name="showPage"size=4><inputtype="hidden"value="<%=request.getParameter("name")%>"/><InputType="submit"name="g"value="提交"></FORM>
下面4个链接的href都要加&name=<%=request.getParameter("name")%>后缀
解决方案三:
引用1楼magong的回复:
引用楼主alex_yyf的回复:<FORMaction=""method="get">输入页码数<InputType="text"name="showPage"size=4><inputtype="hidden"value="<%=request.getParameter("name")%>"/><InputType="submit"name="g"value="提交"></FORM>
不好意思,漏了name属性<FORMaction=""method="get">输入页码数<InputType="text"name="showPage"size=4><inputtype="hidden"name="name"value="<%=request.getParameter("name")%>"/><InputType="submit"name="g"value="提交"></FORM>
解决方案四:
谢谢但是我试了下问题还是没有解决<inputtype="hidden"name="name"value="<%=request.getParameter("name")%>"/>这中间的两个name是一样的么?
解决方案五:
一个是名称,一个是值keyvalue的关系引用3楼alex_yyf的回复:
谢谢但是我试了下问题还是没有解决<inputtype="hidden"name="name"value="<%=request.getParameter("name")%>"/>这中间的两个name是一样的么?
解决方案六:
是。请你修改当前jsp后,从前面那个jsp提交form进入,访问当前jsp,而不是直接刷新浏览器访问当前jsp
解决方案七:
改完后我是从前一页面提交到这一页的但是现在点击按钮后数据全不显示了
解决方案八:
有专业的分页标签为什么还要自己写呢
解决方案九:
该回复于2010-12-03 11:37:18被版主删除
解决方案十:
四个连接后面加个后缀改成&name=<%=name%>试试看在java脚本里已经获得了这个值。重新用request.getParameter("name")获取不到值导致查不出来任何内容
解决方案十一:
<inputtype="hidden"name="name"value="<%=request.getParameter("showPage")%>"/>应该是showPage吧你要把当前取出来的放到隐藏域的吧怎么会是name了
解决方案十二:
引用6楼alex_yyf的回复:
改完后我是从前一页面提交到这一页的但是现在点击按钮后数据全不显示了
估计又是中文问题了引用楼主alex_yyf的回复:
<FORMaction=""method="get">
改成post方式吧。下面那几个链接就不好办了。