dwr----实现分页

继续的dwr----实现分页  

要实现分页就要首先配置好参数,用dwr来接受参数,要用到javabean。下面就是我的dwr.xml中的配置。而对于方法的话。可以配置也可以不配置。如果你要配置的话,那就全都配置。默认的情况就是把全部的方法都配置 好了:

其中还有一点的是,在实现分页的时候,由于使用的是js。所以在构造表格的时候要把整个表格都构造,不能只加入一个tr 这样是不行。不支持这个。所以要注意了:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">
<dwr>
    <allow>
        <create javascript="UserManagerDWR" creator="new">
            <param name="class" value="com.cfd.drp.dwr.UserManagerDWR"></param>
            <include method="getUsers"/>
            <include method="getTotalUsers"/>
        </create>
        <convert  converter="bean" match="com.cfd.drp.sysmgr.User">
         <param name="include" value="username,userId,password,email,contactTel,createDate"></param>
        </convert>
    </allow>
</dwr>

这个文件的配置比较简单,下面的我的dwr直接访问的类了。(javabean我就不写出来了):

package com.cfd.drp.dwr;

import java.util.ArrayList;
import java.util.List;

import com.cfd.drp.sysmgr.UserManager;

public class UserManagerDWR {


 public List getUsers(int pageNo,int pageSize) {
  List users = new ArrayList();
  UserManager manager = UserManager.getInstance();
  users = manager.getUsers(pageNo, pageSize);
  return users;
 }
 
 public int getTotalUsers() {
  int total = 0;
  List users = new ArrayList();
  UserManager manager = UserManager.getInstance();
  total = manager.getTotals();
  
  return total;
 }
 
}

再下面就是重点了,就是页面上的js代码了:

<script type="text/javascript">
  
//----------------------------dwr 分页开始-------------------------------
 //一页的记录数目
 var pageSize = 4;
 //第几页
 var pageNo;
 //共计页数
 var totalPages;
 //共有的记录数目
 var totalRecords;
 //构建表格 表格的头部
 var preString = "<table width='95%' border='1' cellspacing='0' cellpadding='0'align='center' class='table1'><tr><td width='55' class='rd6'><input type='checkbox' name='ifAll' onClick='checkAll()'></td><td width='119' class='rd6'>用户代码</td><td width='152' class='rd6'>用户名称</td><td width='166' class='rd6'>联系电话</td><td width='150' class='rd6'>email</td><td width='153' class='rd6'>创建日期</td></tr>";
 //构建表格 表格的中间部分
 var mainString = "";
 //构建表格 表格的结束
 var endString = "</table>";
  
 //日期格式转换
 function   date2str(d){  
   var   ret=d.getFullYear()+"-"  
   ret+=("00"+(d.getMonth()+1)).slice(-2)+"-"  
   ret+=("00"+d.getDate()).slice(-2)+"   "  
   ret+=("00"+d.getHours()).slice(-2)+":"  
   ret+=("00"+d.getMinutes()).slice(-2)+":"  
   ret+=("00"+d.getSeconds()).slice(-2)
   return   ret;
  } 
 
  //实现上一页功能
  function previousPage() {
  if(pageNo > 1) {
   mainString = "";
   pageNo = pageNo -1;
   getTotalRecords();
   getUsersFromDWR();
   document.getElementById("pageNo").innerHTML = pageNo;
  }
 } 
 
   //实现下一页功能
 function nextPage() {
  if(pageNo < totalPages) {
   mainString = "";
   pageNo = pageNo + 1;
   getTotalRecords();
   getUsersFromDWR();
   document.getElementById("pageNo").innerHTML = pageNo;
  }
 }
 
 //进入页面的,取出的记录
 function init() {
  pageNo = 1;
  getTotalRecords();
  getUsersFromDWR();
  
  document.getElementById("pageNo").innerHTML = pageNo;
 }
 
 
 function getUsersFromDWR() {
  UserManagerDWR.getUsers(pageNo,pageSize,getResult);
 }
 
 function getResult(data) {
  for(var i=0;i<data.length;i++){
   var email =  "/";
   var contactTel = "/";
   
   if(data[i].email != null) {
    email = data[i].email;
   }
   
   if(data[i].contactTel != null) {
    contactTel = data[i].contactTel;
   }
   mainString = mainString + "<tr><td class='rd8'><input type='checkbox' name='selectFlag' class='checkbox1' value='checkbox'></td><td class='rd8'>"+data[i].userId+"</td><td class='rd8'>"+data[i].username+"</td><td class='rd8'>"+contactTel+"</td><td class='rd8'>"+email+"</td><td class='rd8'>"+date2str(data[i].createDate)+"</td></tr>";
  }
  document.getElementById("useTable").innerHTML = preString + mainString +endString;
 }
 
 function getTotalRecords() {
  UserManagerDWR.getTotalUsers(dealTotalRecords);
 }
 
 function dealTotalRecords(records){
  totalRecords = records;
  totalPages = (totalRecords+pageSize-1)/pageSize;
  document.getElementById("totalPages").innerHTML = Math.floor(totalPages);
 }
 
//----------------------------dwr 实现分页 结束--------------------------------


 function bottomPage() {
  
 }

 function topPage() {
  
 }
</script>

 

 中间有些方法就简单了 。

总结一下,整体上比较,其实还是jsp实现分页来比较简单,毕竟jsp是嵌套在页面中的。所以很灵活,但是js还学要构造页面,所以也就稍微麻烦一点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值