struts分页的一种实现!(二)

原创 2004年06月27日 18:51:00
 

      查询Action的代码片断

 public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {
  Base queryForm= (Base) form;
   
     if(!queryForm.getName().equals("")){
   PageController pc=new PageController();       
         EmployeeBase service=new EmployeeBase();      
         ArrayList result=(ArrayList)service.search(queryForm,pc);
       
            HttpSession session=request.getSession();
           
   session.setAttribute("queryForm",queryForm);
         session.setAttribute("pageController",service.getPageController());
       
         request.setAttribute("queryResult",result); 
   request.setAttribute("pageController",service.getPageController());     
      return mapping.findForward("haveResult");
     }else{
        return mapping.findForward("noResult");
     }
  
  
  
 
 }

(3),翻页Action的代码片断

public ActionForward execute(
  ActionMapping mapping,
  ActionForm form,
  HttpServletRequest request,
  HttpServletResponse response)
  throws Exception {
 
   
       
file://读取翻页参数
     
  TurnPageForm turnPageForm=(TurnPageForm)form;
  
  
file://从PageController中取出查询信息,并使用bean提供的调用接口处理结果
  
  HttpSession session=request.getSession();
  PageController pc=(PageController)session.getAttribute("pageController");  
  Base queryForm=(Base)session.getAttribute("queryForm");
  
 
  pc.setCurrentPage(turnPageForm.getViewPage());
  
  EmployeeBase service=new EmployeeBase();
  
  ArrayList result=(ArrayList)service.search(queryForm,pc);
  
  
file://根据参数将数据写入 request
  
        request.removeAttribute("queryResult");
  request.removeAttribute("pageController");
  request.setAttribute("queryResult",result); 
  request.setAttribute("pageController",pc);
    
  
file://forward 到显示页面
  
  
  
  return mapping.findForward("haveResult");
  
  
  
  
 
 }

(4)数据库访问bean中的片断

public Collection search(Base base, PageController pc)
  throws SQLException {
  ArrayList emps = new ArrayList();
  ResultSet rs = getSearchResult(base);

  rs.absolute(-1);
  pc.setTotalRowsAmount(rs.getRow());
  setPageController(pc);
  if (rs.getRow() > 0) {

   rs.absolute(pc.getPageStartRow());


   do {
    System.out.println("in loop" + rs.getRow());

    Base b = new Base();
    b.setName(rs.getString("Name"));
    b.setIdCard(rs.getString("IDCard"));
    System.out.println("From db:" + rs.getString("IDCard"));
    emps.add(b);
    if (!rs.next()) {
     break;
    }
   } while (rs.getRow() < (pc.getPageEndRow() + 1));
  }
  return emps;
 }


(5)在jsp中,翻页部分的代码片断

<bean:write name="pageController" property="description"/>
  
  <logic:equal name="pageController" property="hasPrevious" value="true">
              <a href="turnPage.do?viewPage=<bean:write name="pageController" property="previousPage"/>" class="a02">
           Previous
        </a>
  </logic:equal>

  <logic:equal name="pageController" property="hasNext" value="true">
     <a href="turnPage.do?viewPage=<bean:write name="pageController" property="nextPage"/>" class="a02">
     Next
     </a>
  </logic:equal>

 

这样一来,翻页的功能可以以你喜欢的方式表现给client

struts2中的跳转详解

COME FROM Struts2的ResultType和Action处理链  Struts2的结果类型 在struts-default.xml中定义了Struts2内置的所...
  • u011554611
  • u011554611
  • 2015年01月12日 23:43
  • 3065

在JSP中使用Struts2标签分页 限制页码只显示10页 带分页算法 样式

之前做分页效果一直都是使用JS控制,后来觉得不方便也不好控制,就自己写了这个根据Struts2标签在JSP页面中控制页码显示的分页。 分页效果图: 废话不多说,直接上代码了...
  • u013615806
  • u013615806
  • 2014年10月22日 00:27
  • 1205

Struts实现分页显示数据

//操作的数据库中的表名为:UserInfo,有三个属性:userId,userName,userPassword(顾名思义) 首先为UserInfo表构造一个相对应的JavaBean,Us...
  • izhouxiaofei
  • izhouxiaofei
  • 2016年12月01日 23:57
  • 1959

在Struts2中实现自定义分页标签全攻略(二)

在前面的我们已经写好了一个自定义的分页标签,在jsp中引用该标签: pm其实是一个分页模型,里边包括了:当前页号(pageNo)、每页要显示的记录数(pageSize)、总记录数(rec...
  • tjcyjd
  • tjcyjd
  • 2011年10月15日 11:07
  • 5171

redis value为对象的排序、分页的一种实现

-------基于HBase存储引擎并实现了排序、分页的Redis缓存策略   思路: 1、  当前系统缓存json,根据key存取value,key 和value都是String类型,直...
  • cuirong1986
  • cuirong1986
  • 2012年11月29日 19:41
  • 3524

datagrid分页的一种实现方法

初学datagrid时,很难成功实现分页,一部分是因为datagrid对分页的支持并不是非常完美,还有一部分原因是因为我们在使用springmvc生成json时经常借助responsebody直接生成...
  • u010276761
  • u010276761
  • 2016年09月02日 10:02
  • 861

分页的另一种实现-不用额外请求

情景:千里码有些最优化题目的旁边会有一个排行榜,用来展示不同的答案。比如[Uber打车匹配](http://www.qlcoder.com/task/7596) 这里的答题人数并不多,但是[老王装货]...
  • Toxic07
  • Toxic07
  • 2015年11月22日 13:54
  • 589

Struts+Hibernate实现分页

  • 2015年05月12日 21:24
  • 32KB
  • 下载

hibernate,struts,spring,JSP,实现分页技术

  • 2010年10月27日 10:28
  • 78KB
  • 下载

struts2.0实现数据分页

  • 2011年08月15日 12:41
  • 3.57MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:struts分页的一种实现!(二)
举报原因:
原因补充:

(最多只允许输入30个字)