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

来源:互联网 发布:spark sql python 编辑:程序博客网 时间:2024/05/19 15:22

       在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请搜索疯狂Java;

  messagelist.do - > messagelist.jsp

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

  参数说明:

  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", newInteger(start));

  request.setAttribute("page", newInteger(page));

  // if there is a previous page, set theprevious 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 nextvariable

  int next = start+page;

  if ( next< list.length ){

  request.setAttribute("next", newInteger(next));

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

  }

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

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

  下面是 messagelist.jsp 里的内容:

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

  < 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:presentname="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 >

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

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

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

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

  疯狂Java培训(疯狂软件学院http://www.fkjava.org/抢座热线:020-28309358,020-28309378咨询QQ:707552864,544627560)的课程采用针对性培养,全面提升学员就业能力,重点加强训练职业素质。老师辛勤的讲解,让学员充分感受Java的魅力,充分激发每个学员对于编程的热爱,让学员在半年的时间内掌握8-10万的代码量,成为真正的技术高手,疯狂Java采用企业全真模拟开发训练,迅速积累项目经验。让学员迅速获得其他人需要花费两年才能获得的工作技能,无忧就业!

��return name + "说了:" + content;

  }

  public void sayHello() {

  System.out.println("hello -->" + AUTHOR);

  }

  public String getName() {

  return name;

  }

  public void setName(String name) {

  this.name = name;

  }

  public int getAge() {

  return age;

  }

  public void setAge(int age) {

  this.age = age;

  }

  public String toString() {

  return "姓名:" +this.name + ";年龄:" + this.age;

  }

  }

  疯狂Java培训的课程采用针对性培养,全面提升学员就业能力,重点加强训练职业素质。老师辛勤的讲解,让学员充分感受Java的魅力,充分激发每个学员对于编程的热爱,让学员在半年的时间内掌握8-10万的代码量,成为真正的技术高手,疯狂Java采用企业全真模拟开发训练,迅速积累项目经验。让学员迅速获得其他人需要花费两年才能获得的工作技能,无忧就业!

 

原创粉丝点击