• Struts中如何实现查询结果分页显示


    转自:http://www.cdtarena.com/javapx/201305/8622.html

      messagelist.do - > messagelist.jsp

      用 messagelist.do?start=0 来显示第一个页面

      参数说明:http://www.cdtarena.com/ios/

      list:信息列表

      start:开始位置

      page:每页显示的信息数目

      previous:上页开始位置

      next:下页开始位置

      MessageListAction 里的 perform 是这样写的:

      ------------------------------------------------------------------------------------

      int start = Integer.parseInt(request.getParameter("start"));

      System.out.println ("Start:" + start);

      int page = 4;

      // create a message list

      Message[] list = new Message[16];

      for (int i=0; i< list.length; i++){

      list[i] = new Message(i ,"message" + i);

      }

      request.setAttribute("list", list);

      request.setAttribute("start", new Integer(start));

      request.setAttribute("page", new Integer(page));

      // if there is a previous page, set the previous variable

      int previous = start-page;

      if ( previous >=0 ){

      request.setAttribute("previous", new Integer(previous));

      System.out.println ("previous:" + previous);

      }

      // if there is a next page, set the next variable

      int next = start+page;

      if ( next< list.length ){

      request.setAttribute("next", new Integer(next));

      System.out.println ("next:" + next);

      }

      return (mapping.findForward("success"));

      ------------------------------------------------------------------------------------

      下面是 messagelist.jsp 里的内容:http://www.cdtarena.com/3g.html

      ------------------------------------------------------------------------------------

      < logic:iterate id="message" name="list" offset="start" length="page" >

      < br >< html:link

      paramId="id" paramName="message" paramProperty="id"

      page="/messagedetail.do" >

      < bean:write name="message" property="name" / >

      < /html:link >

      < /logic:iterate >

      < logic:present name="previous" >

      < br >< html:link

      paramId="start" paramName="previous"

      page="/messagelist.do" >

      上一页

      < /html:link >

      < /logic:present >

      < logic:present name="next" >

      < br >< html:link

      paramId="start" paramName="next"

      page="/messagelist.do" >

      下一页

      < /html:link >

      < /logic:present >

           http://www.cdtarena.com/class.html 

            http://www.cdtarena.com/qrs.html

      ------------------------------------------------------------------------------------

      以此例子来说明 logic:iterate 在分页里的用法

      由于每次 messagelist.do 都会处理所有的 message,所以性能上还是可以再优化

      比如把 message 数组存放在 session 里。

  • 相关阅读:
    java自带线程池
    SQL 语句学习
    Eclipse 运行内存不足情况
    Eclipse的ant调用maven
    Elipse 无法启动问题(转)
    UI自动化测试实战之Select类实战(四)
    WebElement类方法实战(三)
    WebDriver浏览器属性详解(二)
    服务端测试之gRPC协议测试(一)
    服务端测试实战(一)
  • 原文地址:https://www.cnblogs.com/cdtarena/p/3083828.html
Copyright © 2020-2023  润新知