能不能根据我的Action代码,实现分页的JSP代码?

publicActionForwardshowArticleUI(ActionMappingmapping,ActionFormform,HttpServletReque... public ActionForward showArticleUI(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

//得到当前用户[从session取出]
Users loginUser = (Users) request.getSession().getAttribute("loginuser");

//获取页码
String pageStr = request.getParameter("page");
if(pageStr == null){
pageStr = String.valueOf(request.getSession().getAttribute("page"));
}else{
request.getSession().setAttribute("page", pageStr);
}
int page = 1;
try{
page = Integer.parseInt(pageStr);
}catch(NumberFormatException e){
}

//获得总记录数
int count = articleService.getResultBySql("select * from article where authorId=?", new Object[]{loginUser.getId()}).size();
int maxPage = count / NUMBER;
if(count%NUMBER != 0){
maxPage ++;
}

//获得列表
List<Article> list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});

if(count != 0 && list == null){
list = articleService.getResultBySql("select * from article where authorId=? order by indate limit ? offset ?", new Object[]{loginUser.getId(),NUMBER,(page-1)*NUMBER});
}
request.setAttribute("articlelist", list);

if(list != null){
PageData data = new PageData(list,page,maxPage);
request.setAttribute("articles", data);
}
//分页部分
TurnPageForm tForm = new TurnPageForm();
tForm.setCurrentPage(page);
tForm.setMaxpage(maxPage);
request.setAttribute("turnPageForm", tForm);

return mapping.findForward("goShowArticleUI");
}

希望大家帮我写出在JSP页面分页显示日志标题的JSP代码,以供我借鉴学习。谢谢大家啦。
展开
 我来答
匿名用户
2015-05-14
展开全部
<%!  int pageSize=4;
 int pageCount;
 int showPage;
 %>

<!-- 连接数据库并从数据库中调取记录-->
<%
 Connection con;
 Statement sql;
 ResultSet rs;

 try{Class.forName("com.mysql.jdbc.Driver"); 
 }catch(ClassNotFoundException e){
 }

 try{con=DriverManager.getConnection("jdbc:mysql //localhost:3306/message board","root","123456");
  sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
  //返回可滚动的结果集 
  rs=sql.executeQuery("select * from messageinfo");
  //将游标移到最后一行 
  rs.last();
  //获取最后一行的行号 
  int recordCount=rs.getRow();
  //计算分页后的总数 
  pageCount=(recordCount%pageSize==0)?(lastRow/pageSize):(lastRow/pageSize+1);

  //获取用户想要显示的页数:
  String integer=request.getParameter("showPage");
  if(integer==null){
   integer="1";
  }
  try{showPage=Integer.parseInt(integer);
  }catch(NumberFormatException e){
   showPage=1;
  }
  if(showPage<=1){
   showPage=1;
  }
  if(showPage>=pageCount){
   showPage=pageCount;
  }

  //如果要显示第showPage页,那么游标应该移动到的position的值是:
  int position=(showPage-1)*pageSize+1;
  //设置游标的位置
  rs.absolute(position);
  //用for循环显示本页中应显示的的记录
  for(int i=1;i<=pageSize;i++){  
 %>
   <table>
    <tr> 
     <th><%=rs.getString("UserName") %></th>
     <td>发表于:<%=rs.getString("datetime") %></td>
    </tr>
    <tr >
     <th colspan="3"><textarea><%=rs.getString("content") %></textarea></th>
    </tr>
   </table>

 <%  
   rs.next();
  } 
  rs.close();
  con.close();
  }
  catch(Exception e){
  e.printStackTrace();}
 %>
 <br>
 第<%=showPage %>页(共<%=pageCount %>页)
 <br>
 <a href="ShowMessages.jsp?showPage=1">首页</a>
 <a href="ShowMessages.jsp?showPage=<%=showPage-1%>">上一页</a>
<% //根据pageCount的值显示每一页的数字并附加上相应的超链接
  for(int i=1;i<=pageCount;i++){
 %>
   <a href="ShowMessages.jsp?showPage=<%=i%>"><%=i%></a>
<% }
 %> 
 <a href="ShowMessages.jsp?showPage=<%=showPage+1%>">下一页</a>
 <a href="ShowMessages.jsp?showPage=<%=pageCount%>">末页</a>
 <!-- 通过表单提交用户想要显示的页数 -->
 <form action="" method="get">
  跳转到第<input type="text" name="showPage" size="4">页
  <input type="submit" name="submit" value="跳转">
 </form>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式