<%@ page language="java" import="java.util.*,java.sql.*,java.text.*"pageEncoding="GBK"%>
<%@ page import="javax.naming.*" %>
<html><body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<center><br /><br /><br /><br /><br />
<center>
当前在线用户
</center>
<form name="form1" target="mainFrame">
<table width="40%" border="1" cellspacing="1" bordercolor="#000000">
<tr>
<td width="2%" align=center>ID</td>
<td height="30" width="18%"align=center>
用户名
</td>
<td width="20%" align=center>操作</td>
</tr>
<% 
String   user   = "";
try{


int pageNo=0;
if (request.getParameter("pageno")==null) {
pageNo=-1;
} else {
pageNo=request.getParameter("pageno").length()==0?-1:Integer.parseInt(request.getParameter("pageno"));
}
//取出总条数开始
int rowsTotal=0;
List list = (List)application.getAttribute("userlist"); 
  
rowsTotal = list.size();
//取出总条数结束
int rowsPerPage=1;//每页显示条数
int maxPageno=(rowsTotal==0)?0:(int)(rowsTotal+rowsPerPage-1)/rowsPerPage -1;
pageNo=(pageNo==-1)?0:pageNo;
if(pageNo>maxPageno) pageNo=maxPageno;

int startRowno=rowsPerPage*pageNo;
int endRowno=rowsPerPage*(pageNo+1);
int rowDisplacement=0;
int j=1;  
Iterator   iter   =   list.iterator();
if(iter.hasNext())   {      
while(iter.hasNext())   {   
  if(rowDisplacement<startRowno){
rowDisplacement++;
continue;
}       
user = (String)iter.next();
out.println("user==="+user);   
%>
<tr>
<td align=center width=50><%=j%></td>
<td align=center><%=user%></td>
<td>&nbsp;</td>
</tr>
<% 
     j++;         rowDisplacement++;
if(rowDisplacement>=endRowno){
break;
}
}}
%> <tr>
<td colspan="10">&nbsp;

</td>
</tr>
<tr>
<td width="780" height="21" align="center" colspan="11">
          共有<%=rowsTotal%>条记录&nbsp;&nbsp;&nbsp;&nbsp;记录&nbsp;&nbsp;<%=(rowsTotal==0)?0:(rowsPerPage*pageNo+1)%>&nbsp;
  --&nbsp;<%=(pageNo==maxPageno)?rowsTotal:rowsPerPage*(pageNo+1)%>&nbsp;第&nbsp;<%=(rowsTotal==0)?0:(pageNo+1)%>&nbsp;页
</td>
</tr>
<tr>
<td width="780" height="25" align="center" colspan="11">
  <input type="button" name="previous" value="&lt&lt前一页" onClick="previous_onclick(<%=pageNo%>)">&nbsp;&nbsp;&nbsp;
  <input type="button" name="next" value="后一页&gt;&gt;" onClick="next_onclick(<%=pageNo%>,<%=maxPageno%>)">
  <input type="hidden" name="pageno" value="">
</td>
</tr> 
 
<% }catch(Exception e){
out.println(e);
}
%> </table>
</form>

<form method=post action=userlist.jsp name=form2>
<input type=hidden name=pageno>
</form>
</center>
</body></html>
<script language="javascript">
function previous_onclick(currentPageno)
{
if(currentPageno==0){
alert("没有前一页");
}
else{
nextPageno=currentPageno-1;
document.form2.pageno.value=nextPageno;
document.form2.submit();
}

}function next_onclick(currentPageno,maxPageno)
{
if(currentPageno<maxPageno){
nextPageno=currentPageno+1;
document.form2.pageno.value=nextPageno;
document.form2.submit();
}
else{
alert("没有后一页");
}

}</script>
 这个jsp实现了显示当前在线用户,我设定每页显示条数为1,假设当前在线用户为2,页面显示不正常,分2页,但每页都显示了第一条记录,可能和遍历器有关系,但我不知道怎么改,大家帮下我吧!~