..........................
String sql="select*from contact";
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
//一页显示的记录数
int intPageSize;
//记录的总数
int intRowCount;
//总页数
int intPageCount;
int intPage;//待显示的页码 String strPage;
int i;
//设置一页显示的记录数
intPageSize=4;
//取得待显示的页码
strPage=request.getParameter("page"); //判断strPage是否等于null,如果是,显示第一页数据
if(strPage==null)
{
intPage=1; }
else{
//将字符串转化为整型
intPage=java.lang.Integer.parseInt(strPage);
}
if(intPage<1){
intPage=1;
}
//获取记录总数
rs.last();
intRowCount=rs.getRow();
//计算页总数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
//调整待显示的页码
if(intPage>intPageCount)intPage=intPageCount;
if(intPageCount>0)
{
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1)*intPageSize+1);
}
//下面用于显示数据
i=0;
while(i<intPageSize && !rs.isAfterLast())
{
%>
<tr>
<td><%=rs.getString("userName")%></td>
<td><%=rs.getString("mobile")%></td>
<td><%=rs.getString("phone")%></td>
<td><%=rs.getString("mail")%></td>
<td><%=rs.getDate("lastcontact")%></td>
<td><%=rs.getString("memo")%></td>
</tr>
<%
rs.next();
i++;
}
//关闭连接,释放资源
rs.close();
stmt.close();
conn.close();
%>
<div align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPage%>页
<%
for(int j=1;j<=intPageCount;j++)
{
out.print(" <a href='test67.jsp?page="+j+"'>"+j+"</a>"); }
%>
</div>
<%
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</table>
</center>
</body>
</html>其中的 "String strPage“是不是和"int intPage”一样,都是定义的待显示的页码变量,只不过类型不一样,一个是int型 一个是String型,如果是为什么定义两种不同的类型哪。
strPage=request.getParameter("page"),这段代码是不是说从本代码中获取参数呀,括号中的"page“参数是从哪获取的呀,我在本代码中并没有定义page属性或变量呀。(我这段代码的名称就是”test67.jsp“)"strPage“为什么不可以换成"intPage"."strPage==null”是什么意思,为什么如果等于null,就显示第一页哪。null不是不存在任何对象吗。如果不等于null,字符串为什么要转变为整型哪。;<a href='test67.jsp?page="+j+"'>"+j+"</a>中page="+j+" j两边的'+'什么意思,在什么情况下要这样写呀,让大家见笑了,问了这么多“为什么”。我对上面的理解一知半懂,想得到大家的帮助理解加深些。谢谢了
String sql="select*from contact";
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
//一页显示的记录数
int intPageSize;
//记录的总数
int intRowCount;
//总页数
int intPageCount;
int intPage;//待显示的页码 String strPage;
int i;
//设置一页显示的记录数
intPageSize=4;
//取得待显示的页码
strPage=request.getParameter("page"); //判断strPage是否等于null,如果是,显示第一页数据
if(strPage==null)
{
intPage=1; }
else{
//将字符串转化为整型
intPage=java.lang.Integer.parseInt(strPage);
}
if(intPage<1){
intPage=1;
}
//获取记录总数
rs.last();
intRowCount=rs.getRow();
//计算页总数
intPageCount=(intRowCount+intPageSize-1)/intPageSize;
//调整待显示的页码
if(intPage>intPageCount)intPage=intPageCount;
if(intPageCount>0)
{
//将记录指针定位到待显示页的第一条记录上
rs.absolute((intPage-1)*intPageSize+1);
}
//下面用于显示数据
i=0;
while(i<intPageSize && !rs.isAfterLast())
{
%>
<tr>
<td><%=rs.getString("userName")%></td>
<td><%=rs.getString("mobile")%></td>
<td><%=rs.getString("phone")%></td>
<td><%=rs.getString("mail")%></td>
<td><%=rs.getDate("lastcontact")%></td>
<td><%=rs.getString("memo")%></td>
</tr>
<%
rs.next();
i++;
}
//关闭连接,释放资源
rs.close();
stmt.close();
conn.close();
%>
<div align="center">
共<%=intRowCount%>个记录,分<%=intPageCount%>页显示,当前页是:第<%=intPage%>页
<%
for(int j=1;j<=intPageCount;j++)
{
out.print(" <a href='test67.jsp?page="+j+"'>"+j+"</a>"); }
%>
</div>
<%
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</table>
</center>
</body>
</html>其中的 "String strPage“是不是和"int intPage”一样,都是定义的待显示的页码变量,只不过类型不一样,一个是int型 一个是String型,如果是为什么定义两种不同的类型哪。
strPage=request.getParameter("page"),这段代码是不是说从本代码中获取参数呀,括号中的"page“参数是从哪获取的呀,我在本代码中并没有定义page属性或变量呀。(我这段代码的名称就是”test67.jsp“)"strPage“为什么不可以换成"intPage"."strPage==null”是什么意思,为什么如果等于null,就显示第一页哪。null不是不存在任何对象吗。如果不等于null,字符串为什么要转变为整型哪。;<a href='test67.jsp?page="+j+"'>"+j+"</a>中page="+j+" j两边的'+'什么意思,在什么情况下要这样写呀,让大家见笑了,问了这么多“为什么”。我对上面的理解一知半懂,想得到大家的帮助理解加深些。谢谢了
楼主【gjk11】截止到2008-07-09 11:35:02的历史汇总数据(不包括此帖):
发帖的总数量:17 发帖的总分数:390 每贴平均分数:22
回帖的总数量:10 得分贴总数量:1 回帖的得分率:10%
结贴的总数量:17 结贴的总分数:390
无满意结贴数:2 无满意结贴分:70
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:11.76 % 无满意结分率:17.95 %
敬礼!
page参数就是这个请求里面带的,“?”后面的就是参数呗。你通过request.getParameter("page")获取到的是String类型的,而你要进行计算的话,必须要转成数值型的才可以。"strPage==null” 就是说,你的请求没有带page这个参数,可能只是这样:test67.jsp。 如果是没有page参数,也就是说用户没有指定要看第几页,那么默认给他第一页的数据。至于那个+j+,你这样能看明白吗? String str = "aaa" + "bbb" + "ccc"。同样,这个加号只是表示字符串相加而已。
这个page是页面中一个属性的名字,比如<input type = "text" name="page">
是通过这个name来取得改文本的值赋给strpage ,这个strpage应该是页码显示当前页码的值 intPage 是显示的页码。
intPage=java.lang.Integer.parseInt(strPage); 将页码接收来的strpage的String 类型转换成int 形式 或者当参数传到后台去读取当前用户需要看的页码值。
if(strPage == null)
就是当前没有页码,如果不将intPage =1; 那么传到后台读取的时候会报空指针异常。
而且分页的时候不会从页码为0时候开始吧(即strPage == null的时候 )~~~~所以默认为1.<a href='test67.jsp?page="+j+"'>"+j+" </a>
这个问题 href='test67.jsp 这个LZ知道意思吧。
后面是说 要传到这个页面的页码值是 一个 page = "+j+"的值,
而j值是一个参数形式 赋值给page 的 所以是一个拼接的形式
即 当j=1 的时候 在test67.jsp中显示 page = 1的第一页内容。不知道是否明白哈~~
原来那个程序员太累了,项目太赶了
String strPage 主要用在下面这句代码上
intPage = Integer.parseInt(strPage);
其实4楼已解释的很清楚了!!