DWR分页!!

来源:互联网 发布:家庭网络监控安装视频 编辑:程序博客网 时间:2024/06/05 07:19
在web.xml中配置DWRServlet如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version
="2.4" id="dwr">
  
<display-name>DWR (Direct Web Remoting)</display-name>
  
<description>A Simple Demo DWR</description>
  
<servlet>
    
<servlet-name>dwr-invoker</servlet-name>
    
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
    
<init-param>
      
<param-name>debug</param-name>
      
<param-value>true</param-value>
    
</init-param>
  
</servlet>
  
<servlet>
    
<servlet-name>action</servlet-name>
    
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    
<init-param>
      
<param-name>config</param-name>
      
<param-value>/WEB-INF/struts-config.xml</param-value>
    
</init-param>
    
<init-param>
      
<param-name>debug</param-name>
      
<param-value>3</param-value>
    
</init-param>
    
<init-param>
      
<param-name>detail</param-name>
      
<param-value>3</param-value>
    
</init-param>
    
<load-on-startup>0</load-on-startup>
  
</servlet>
  
<servlet-mapping>
    
<servlet-name>dwr-invoker</servlet-name>
    
<url-pattern>/dwr/*</url-pattern>
  
</servlet-mapping>
  
<servlet-mapping>
    
<servlet-name>action</servlet-name>
    
<url-pattern>*.do</url-pattern>
  
</servlet-mapping>
    
<jsp-config>
  
<taglib>
    
<taglib-uri>/tags/struts-bean</taglib-uri>
    
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  
</taglib>

  
<taglib>
    
<taglib-uri>/tags/struts-html</taglib-uri>
    
<taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  
</taglib>

  
<taglib>
    
<taglib-uri>/tags/struts-logic</taglib-uri>
    
<taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  
</taglib>

  
<taglib>
    
<taglib-uri>/tags/struts-nested</taglib-uri>
    
<taglib-location>/WEB-INF/struts-nested.tld</taglib-location>
  
</taglib>

  
<taglib>
    
<taglib-uri>/tags/struts-tiles</taglib-uri>
    
<taglib-location>/WEB-INF/struts-tiles.tld</taglib-location>
  
</taglib>
  
</jsp-config>
</web-app>

(2)在dwr.xml中配置

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://getahead.org/dwr/dwr20.dtd">

<dwr>
    
<allow>
         
<create javascript="GetPages" creator="new">
               
<param name="class" value="cn.com.project.GetPages"></param>
          
</create>
           
<convert converter="bean" match="cn.com.project.bean.TableGoodsOutputInfo" >
            
<param name="include" value="goodsOutputName,goodsModel,goodsOutputTime"></param>
        
</convert>
       
       
<create creator="struts" javascript="testFrm">
          
<param name="formBean" value="testActionForm"/>
          
</create>

    
</allow>
</dwr>

(3)GetPages类

package cn.com.project;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import cn.com.project.bean.TableGoodsOutputInfo;

public class GetPages {
     
private int pages = 1;
     
     
private int pageCount=20;
     
     
public int getFirst(int page) {
          pages
=page;
          
return pages;
     }

     
     
public int getNext(int page){
          
if(page==pageCount)
          
{
           
return pageCount;
          }
else{
           pages
=page;
           
return pages+1;
          }

     }

     
     
public int getUp(int page)
     
{
      
if(page==1)
      
{
       
return pages;
      }
else
      
{
       pages
=page;
       
return pages-1;
      }

     }

     
     
public int getLast()
     
{
      
return pageCount;
     }

     
     @SuppressWarnings(
"unchecked")
     
public List<cn.com.project.bean.TableGoodsOutputInfo> getJobs(int page,int argPage) throws Exception
     
{
      List list
=new ArrayList<TableGoodsOutputInfo>();
      String sql;
      
try {
       
if(page==1)
       
{
        sql
="select top "+argPage+" * from table_goods_input_info";
       }
else{
        sql
="select top "+argPage+" * from table_goods_input_info where oder_form_id not in (select top (15*("+page+"-1)) oder_form_id from table_goods_input_info);";
       }

       TestConnction conn 
= new TestConnction();
       ResultSet rs
=conn.excuteQuery(sql);
       
while(rs.next())
       
{
         TableGoodsOutputInfo pb
=new TableGoodsOutputInfo();
        pb.setGoodsOutputName(rs.getString(
3));
        pb.setGoodsModel(rs.getString(
7));
        pb.setGoodsOutputTime(rs.getDate(
8));
        list.add(pb);
       }

       conn.closeConnection(rs);
      }
 catch (SQLException e) {
       
// TODO Auto-generated catch block
       e.printStackTrace();
      }

      
      
return list;
     }



}

(4)TableGoodsOutputInfo类

package cn.com.project.bean;

import java.util.Date;

public class TableGoodsOutputInfo  implements Entity {

     
private String oderFormId; //订单编号
     
     
private String goodsOutputMan; //出库人员
     
     
private String goodsTypeId;  //物品种类
     
     
private String goodsOutputId; //物品编号 主键
     
     
private String goodsOutputName; //物品名称
     
     
private Integer goodsOutputCount; //出库数量
     
     
private Integer goodsOutputRcount; //实际出库数
     
     
private String goodsModel;  //物品型号
     
     
private Date goodsOutputTime; //出库时间
     
     
private String goodsOutputState; //出库状态
     
     
private String goodsInc; //运输公司
     
     
private String goodsOutputRemark; //备注
     
     
private Float goodsOutputPrice;// 出库价格

     
private String typeName; //物品种类名称
     
     
private String userName;  //用户姓名

    
//**************************************************************************
      /**
       * TableGoodsOutputInfo的默认无参构造函数
       
*/

      
//**************************************************************************
    public TableGoodsOutputInfo() {
    }

    
    
//**************************************************************************
     /**
      * TableGoodsOutputInfo构造函数
      
*/

     
//**************************************************************************
    public TableGoodsOutputInfo(String oderFormId, String goodsOutputMan, String goodsTypeId, String goodsOutputId, String goodsOutputName, Integer goodsOutputCount, Integer goodsOutputRcount, String goodsModel, Date goodsOutputTime, String goodsOutputState, String goodsInc, String goodsOutputRemark,Float goodsOutputPrice) {
        
this.oderFormId = oderFormId;
        
this.goodsOutputMan = goodsOutputMan;
        
this.goodsTypeId = goodsTypeId;
        
this.goodsOutputId = goodsOutputId;
        
this.goodsOutputName = goodsOutputName;
        
this.goodsOutputCount = goodsOutputCount;
        
this.goodsOutputRcount = goodsOutputRcount;
        
this.goodsModel = goodsModel;
        
this.goodsOutputTime = goodsOutputTime;
        
this.goodsOutputState = goodsOutputState;
        
this.goodsInc = goodsInc;
        
this.goodsOutputRemark = goodsOutputRemark;
        
this.goodsOutputPrice = goodsOutputPrice;
    }


   
//***************************************************************************
    /**
     * 对属性oderFormId取值,返回属性oderFormId的值
     * 
@return oderFormId
     
*/

    
//**************************************************************************
    public String getOderFormId() {
        
return this.oderFormId;
    }

    
    
//**************************************************************************
     /**
      * 对属性oderFormId进行设值
      
*/

     
//**************************************************************************
    public void setOderFormId(String oderFormId) {
        
this.oderFormId = oderFormId;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputMan取值,返回属性goodsOutputMan的值
     * 
@return goodsOutputMan
     
*/

    
//**************************************************************************
    public String getGoodsOutputMan() {
        
return goodsOutputMan;
    }


    
//**************************************************************************
     /**
      * 对属性goodsOutputMan进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputMan(String goodsOutputMan) {
        
this.goodsOutputMan = goodsOutputMan;
    }

    
   
//***************************************************************************
    /**
     * 对属性goodsTypeId取值,返回属性goodsTypeId的值
     * 
@return goodsTypeId
     
*/

    
//**************************************************************************
    public String getGoodsTypeId() {
        
return goodsTypeId;
    }


    
//**************************************************************************
     /**
      * 对属性goodsTypeId进行设值
      
*/

     
//**************************************************************************
    public void setGoodsTypeId(String goodsTypeId) {
        
this.goodsTypeId = goodsTypeId;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputId取值,返回属性goodsOutputId的值
     * 
@return goodsOutputId
     
*/

    
//**************************************************************************
    public String getGoodsOutputId() {
        
return this.goodsOutputId;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputId进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputId(String goodsOutputId) {
        
this.goodsOutputId = goodsOutputId;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputName取值,返回属性goodsOutputName的值
     * 
@return goodsOutputName
     
*/

    
//**************************************************************************
    public String getGoodsOutputName() {
        
return this.goodsOutputName;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputName进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputName(String goodsOutputName) {
        
this.goodsOutputName = goodsOutputName;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputCount取值,返回属性goodsOutputCount的值
     * 
@return goodsOutputCount
     
*/

    
//**************************************************************************
    public Integer getGoodsOutputCount() {
        
return this.goodsOutputCount;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputCount进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputCount(Integer goodsOutputCount) {
        
this.goodsOutputCount = goodsOutputCount;
    }

    
   
//***************************************************************************
    /**
     * 对属性goodsOutputRcount取值,返回属性goodsOutputRcount的值
     * 
@return goodsOutputRcount
     
*/

    
//**************************************************************************

    
public Integer getGoodsOutputRcount() {
        
return this.goodsOutputRcount;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputRcount进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputRcount(Integer goodsOutputRcount) {
        
this.goodsOutputRcount = goodsOutputRcount;
    }

    
   
//***************************************************************************
    /**
     * 对属性goodsModel取值,返回属性goodsModel的值
     * 
@return goodsModel
     
*/

    
//**************************************************************************
    public String getGoodsModel() {
        
return this.goodsModel;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsModel进行设值
      
*/

     
//**************************************************************************
    public void setGoodsModel(String goodsModel) {
        
this.goodsModel = goodsModel;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputTime取值,返回属性goodsOutputTime的值
     * 
@return goodsOutputTime
     
*/

    
//**************************************************************************
    public Date getGoodsOutputTime() {
        
return this.goodsOutputTime;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputTime进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputTime(Date goodsOutputTime) {
        
this.goodsOutputTime = goodsOutputTime;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputState取值,返回属性goodsOutputState的值
     * 
@return goodsOutputState
     
*/

    
//**************************************************************************
    public String getGoodsOutputState() {
        
return this.goodsOutputState;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputState进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputState(String goodsOutputState) {
        
this.goodsOutputState = goodsOutputState;
    }


   
//***************************************************************************
    /**
     * 对属性v取值,返回属性goodsInc的值
     * 
@return goodsInc
     
*/

    
//**************************************************************************
    public String getGoodsInc() {
        
return this.goodsInc;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsInc进行设值
      
*/

     
//**************************************************************************
    public void setGoodsInc(String goodsInc) {
        
this.goodsInc = goodsInc;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputRemark取值,返回属性v的值
     * 
@return goodsOutputRemark
     
*/

    
//**************************************************************************
    public String getGoodsOutputRemark() {
        
return this.goodsOutputRemark;
    }

    
    
//**************************************************************************
     /**
      * 对属性goodsOutputRemark进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputRemark(String goodsOutputRemark) {
        
this.goodsOutputRemark = goodsOutputRemark;
    }


   
//***************************************************************************
    /**
     * 对属性goodsOutputRemark取值,返回属性v的值
     * 
@return goodsOutputRemark
     
*/

    
//**************************************************************************
    public Float getGoodsOutputPrice() {
        
return goodsOutputPrice;
    }


    
//**************************************************************************
     /**
      * 对属性goodsOutputRemark进行设值
      
*/

     
//**************************************************************************
    public void setGoodsOutputPrice(Float goodsOutputPrice) {
        
this.goodsOutputPrice = goodsOutputPrice;
    }

   
       
//***************************************************************************
    /**
     * 对属性typeName取值,返回属性typeName的值
     * 
@return typeName
     
*/

    
//**************************************************************************
    public String getTypeName() {
        
return this.typeName;
    }


    
//**************************************************************************
     /**
      * 对属性typeName进行设值
      
*/

     
//**************************************************************************
    public void setTypeName(String typeName) {
        
this.typeName = typeName;
    }

    
    
//***************************************************************************
    /**
     * 对属性userName取值,返回属性userName的值
     * 
@return userName
     
*/

    
//**************************************************************************
    public String getUserName() {
        
return this.userName;
    }

    
    
//**************************************************************************
     /**
      * 对属性userName进行设值
      
*/

     
//**************************************************************************
    public void setUserName(String userName) {
        
this.userName = userName;
    }

}

(5)页面

<html>
  
<head>
  
<script type="text/javascript" src="dwr/util.js"></script>
  
<script type="text/javascript" src="dwr/engine.js"></script>
  
<script type="text/javascript" src="dwr/interface/GetPages.js"></script>
    
<script type="text/javascript"><!--
     
var page=1;
     DWRUtil.useLoadingMessage(
"loading");
     
function first(){
          GetPages.getFirst(
1,callback);
            blank(
"frist");
            blank(
"up");
     }

     
function blank(id){
         
var f = $(id);
         f.disabled
="true";
     }

     
function blankl(id){
         
var f = document.getElementById(id);
         f.disabled
="";
     }

     
function callback(pages){
          page
=pages;
          
var n = $("number").value;
          GetPages.getJobs(pages,n,process);
          
     }

     
function next()
     
{
      blankl(
"frist");
      blankl(
"up");
      GetPages.getNext(page,callback);
     }

     
function up()
     
{
     
if(page==1){    
      blank(
"frist");
      blank(
"up");
      }

      GetPages.getUp(page,callback);
     }

     
function last()
     
{
      blank(
"last");
      GetPages.getLast(callback);
     }

     
     
/**function get(pages){
         var n = $("number").value;  
         page=pages;  
         GetPages.getJobs(pages,n,process);
     }
     
*/

     
function process(item)
     
{
      DWRUtil.removeAllRows(
"job");
       
var cell=[
        
function(item){return item.goodsOutputName},
        
function(item){return item.goodsModel},
        
function(item){return item.goodsOutputTime}
       ];
       DWRUtil.addRows(
"job",item,cell);
     }

     
    
</script>
  
</head>
  
  
<body onload="javaScript:first();">
  
<table border="1">
   
<tbody id="job">
    
   
</tbody>
  
</table>
    
<input type="button" value="第一页" onclick="first()" id="frist" />
    
<input type="button" value="上一页" onclick="up()" id="up" />
    
<input type="button" value="下一页" onclick="next()" id="next" />
    
<input type="button" value="最后一页" onclick="last()" id="last" />
<select name="number" onchange="callback(1)">
<option value="10">10</option>

<option value="15">15</option>

<option value="20">20</option>

<option value="25">25</option>
</select>

  
</body>
</html>

基本上就是这样的了,如果有什么问题可以发邮件给我。我的邮箱地址是:loveyou0406@163.com

 

 

原创粉丝点击