本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0
          只貼代碼,其它的就不說了
          <?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>
              
          <init>
              
          </init>
              
          <allow>
                  
          <create creator="new" javascript="qbusses">
                      
          <param name="class" value="ajax.Qbusses"/>
                  
          </create> 
                  
          <create creator="new" javascript="pagination">
                      
          <param name="class" value="domain.Pagination"/>
                  
          </create> 
                  
                  
          <convert converter="bean" match="domain.Person">
                      
          <param name="include" value="username,email,age"/>
                  
          </convert>

              
          </allow>
              
          <signatures>
                  
          <![CDATA[
                      import java.util.*;
                      import ajax.Qbusses;
                      import domain.Person;
                      Qbusses.addMorePerson(List<Person>);
                  
          ]]>
              
          </signatures>
          </dwr>

          業務類
          package ajax;

          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpSession;
          import org.directwebremoting.*;
          import org.apache.commons.lang.*;
          import java.util.*;
          import domain.Person; 

          public class Qbusses {
              
          public static List <Person> slist=new ArrayList();
              
              
          static{
                  slist.add(
          new Person("小裴","小裴@gmail.com",1));
                  slist.add(
          new Person("小李","小李@gmail.com",2));
                  slist.add(
          new Person("小東","小東@gmail.com",3));
                  slist.add(
          new Person("小西","小西@gmail.com",4));
                  slist.add(
          new Person("小壞蛋","小壞蛋@gmail.com",5));
                  slist.add(
          new Person("小鴨","小鴨@gmail.com",6));
                  slist.add(
          new Person("小雞","小雞@gmail.com",7));
                  slist.add(
          new Person("小狗","小狗@gmail.com",8));
                  slist.add(
          new Person("小豬","小豬@gmail.com",9));
                  slist.add(
          new Person("小洪","小洪@gmail.com",10));
                  slist.add(
          new Person("小飛","小飛@gmail.com",11));
                  slist.add(
          new Person("小鄭","小鄭@gmail.com",12));
                  slist.add(
          new Person("小古","小古@gmail.com",13));
                  slist.add(
          new Person("小貓","小貓@gmail.com",14));
                  slist.add(
          new Person("小紅","小紅@gmail.com",15));
                  slist.add(
          new Person("小黑","小黑@gmail.com",16));
                  slist.add(
          new Person("Think Pad","Think@gmail.com",17));
                  
              }
              
          public String getSessionAndRequestData(){
                  String result
          ="";
                  org.directwebremoting.WebContext wc
          =org.directwebremoting.WebContextFactory.get();
                  HttpSession session
          =wc.getSession();
                  String str_session
          =(String)session.getAttribute("sess");
                  HttpServletRequest request
          =wc.getHttpServletRequest();
                  String str_request
          =(String)request.getAttribute("req");
                  
          if(StringUtils.isEmpty(str_session)){
                      str_session
          ="session等于空";
                  }
                  
          if(StringUtils.isEmpty(str_request)){
                      str_request
          ="request等于空";
                  }
                  result
          =str_session+"-"+str_request;
                  
          return result;
              }
              
          /**
               * 摸擬不刷新頁面翻頁,每頁三條記錄
               * 
          @param page 查詢頁數
               * 
          @return
               
          */
              
          public List<Person > QueryPersonList(int page ){
                  List 
          <Person>result=new ArrayList<Person>();
                  
          if(page==0){
                      result
          =slist;
                  }
          else{
                      page
          =page<1?1:page;
                      
          int start=3*(page-1);
                      
          int end =3*page;
                      result
          =slist.subList(start,end);
                  }

                  
                  
          return result;
              }
              
          /**
               * 添加person
               * 
          @param person
               
          */
              
          public void addPerson(Person person){
                  slist.add(person);
              }
              
          /**
               * 修改Person
               * 
          @param person
               
          */
              
          public void modifyPerson(Person person){
                  
                  Person temp
          =null;
                  
          for(Iterator it=slist.iterator();it.hasNext();){
                      temp
          =(Person) it.next();
                      
          if(temp.getAge()==person.getAge()){
                          slist.remove(temp);
                          slist.add(person);
                          
          return;
                      }
                  }
              }
              
          /**
               * 獲取序列的person對象
               * 
          @param pos
               * 
          @return
               
          */
              
          public Person getPerson(int pos){
                  Person person
          =null;
                  person
          =slist.get(pos);
                  
          return person;
              }
              
          /**
               * 以list做為參數的方法
               * 
          @param plist
               * 
          @return
               
          */
              
          public String addMorePerson(List<Person>plist){
                  System.out.println(plist.size());
                  
          return "添加的記錄長度是: "+plist.size();
              }
              
          /**
               * 返回list的方法
               * 
          @return
               
          */
              
          public List getPersonList(){
                  List 
          <Person>result=new ArrayList<Person>();
                  result.add(slist.get(
          0));
                  result.add(slist.get(
          1));
                  
          return result;
              }
          }
          接下來domain類
          package domain;

          import ajax.Qbusses;

          public class Pagination {
              
          private int page;
              
          private int rowcount;//記錄總行數
              private int pagerowcount=5;//每頁行記錄數
              private int totalpage;  //總頁數
              
              
          public Pagination(int rowcount){
                  
          this.rowcount=rowcount;
                  totalpage
          =rowcount%pagerowcount;
                  
          if(rowcount%pagerowcount>0){
                      totalpage
          =totalpage+1;
                  }
              }
              
          public Pagination(){
                  
          this.rowcount=Qbusses.slist.size();
                  totalpage
          =rowcount%pagerowcount;
                  
          if(rowcount%pagerowcount>0){
                      totalpage
          =totalpage+1;
                  }
              }
              
          public int getFirst(int page){
                  
          this.page=page;
                  
          return page;
              }
              
          public int getNext(int page){
                  
          if(page==totalpage){
                      
          return totalpage;
                  }
          else{
                      
          this.page=page;
                      
          return page+1;
                  }
              }
              
              
          public int getUp(int page){
                  
          if(page==1){
                      
          return page;
                  }
          else{
                      
          this.page=page-1;
                      
          return page-1;
                  }
              }
              
          public int getLast(int page){
                  
          this.page=totalpage;
                  
          return this.totalpage;
              }
          }
          package domain;

          public class Person {
              
          private String username;
              
          private String email;
              
          private int age;
              
              
              
              
          public Person(){
                  
              }
              
          public Person(String username,String email,int age){
                  
          this.username=username;
                  
          this.email=email;
                  
          this.age=age;
              }
              
          public int getAge() {
                  
          return age;
              }
              
          public void setAge(int age) {
                  
          this.age = age;
              }
              
          public String getEmail() {
                  
          return email;
              }
              
          public void setEmail(String email) {
                  
          this.email = email;
              }
              
          public String getUsername() {
                  
          return username;
              }
              
          public void setUsername(String username) {
                  
          this.username = username;
              }
              
              
          }


          頁面代碼
          <%@ page language="java" contentType="text/html; charset=utf-8"
              pageEncoding
          ="utf-8"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
          <script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/interface/qbusses.js'></script>
          <script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/interface/pagination.js'></script>
          <script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/engine.js'></script>
          <script type='text/javascript'   src='<%=request.getContextPath()%>/dwr/util.js'></script> 
          <title>DWR測試</title>
          <style>
              .usersTable 
          {
                  background
          : #cccccc;
              
          }
              .usersTable thead
          {
                  background
          : #f5f5f5;
              
          }
              .usersTable tbody td
          {
                  font-size
          :12px;
                  
              
          }
          .selected
          {
              color
          :#FFFFFF;
              font-weight
          :bold;
              border
          :1px solid red;
              background-color
          : #0099FF;
          }
              
          #datalist 
          {
              width
          : 80%;
              border
          : 1px solid #CCCCCC;
          }
          </style>
          <script>
              
          function call_getSessionAndRequestData(){
                  qbusses.getSessionAndRequestData(back_call_getSessionAndRequestData);
              }
              
          function back_call_getSessionAndRequestData(data){
                  DWRUtil.setValue(
          "data_1",data);
              }
              
          var page=1;
              
          function first(){
                  pagination.getFirst(
          1,loadTableData);
                  
              }
              
          function up(){
                  pagination.getUp(page,loadTableData);
              }
              
          function next(){
                  pagination.getNext(page,loadTableData);
              }
              
          function last(){
                  pagination.getLast(page,loadTableData);
              }
              
          function loadTableData(vpage) {
                  page
          =vpage;
                  
                  qbusses.QueryPersonList(vpage,fillTable);
              }
              
              
          function fillTable(users) {
                  alert(
          "返回記錄長度->"+users.length);
                  DWRUtil.removeAllRows(
          "usersBody");
                  DWRUtil.addRows(
          "usersBody", users, cellFuncs);
                  addEvent();
              }
              
              
          var cellFuncs=[
                
          function(data) {return data.username;},
                
          function(data) {return data.email;},
                
          function(data) {return data.age;}
              ];
              
          var cruRow=false;
              
          function addEvent(){
                  
          var trk=usersBody.firstChild;
                  
          while(trk){
                      trk.onclick
          =rowclick;
                      trk
          =trk.nextSibling;
                  }
              }
              
          function rowclick(){
                  
          var cruRow1=event.srcElement;
                  
          var obj=cruRow1.parentNode;
                  
          var temp=obj.style.backgroundColor;
                  
          //alert(obj.style.backgroundColor);
                  if(usersBody.selectedObj!=null)
                      usersBody.selectedObj.className
          ="";
                  obj.className
          ="selected";
                  
          //alert(obj.outerHTML);
                  //alert(obj.style.bgColor);
                  cruRow=obj;
                  
          //obj.style.color="#010101";
                  document.all("username").value= cruRow.cells[0].innerText;
                  document.all(
          "email").value= cruRow.cells[1].innerText;
                  document.all(
          "age").value= cruRow.cells[2].innerText;
                  usersBody.selectedObj
          =cruRow;
              }
              
          function do_add(){
                  
          var person={username:"",email:"",age:""};
                  DWRUtil.getValues(person);
                  qbusses.addPerson(person);
                  loadTableData();
              }
              
          function do_modify(){
                  
          var person={username:"",email:"",age:""};
                  DWRUtil.getValues(person);
                  qbusses.modifyPerson(person);
                  loadTableData();
              }
              
          function back_seePerson(data){
                  
          for(var property in data){
                      alert(property
          +"-"+data[property]);
                  }
              }
              
          function seePerson(){
                  
          var pos=document.all("pos").value;
                  qbusses.getPerson(pos,back_seePerson);
              }
              
              
          function dolistparame(){
                  
          var data;
                  data
          =[
                      {username:'abc',email:document.getElementById(
          "xemail").value,age:'56'},
                      {username:'cced',email:'cced@qq.com',age:document.getElementById(
          "xage").value}
                  ];
                  qbusses.addMorePerson(data,
          function(data){alert(data);} );
              }
              
          //返回list的方法
              
              
          function callReturnList(){
                  qbusses.getPersonList(showListResult);
              }
              
              
          function showListResult(data){
                  
          for(var i=0;i<data.length;i++){
                      alert(data[i].username
          +"-"+data[i].email+"-"+data[i].age);
                  }
              }
              
          </script>
          </head>
          <body onLoad="call_getSessionAndRequestData(),first()">
              
          <%
                  session.setAttribute(
          "sess","session value");
                  request.setAttribute(
          "req","req value");
               
          %>
              
          <div style="border :1px #f0f0f0 solid"  id="data_1">
                  
              
          </div>
              
          <div  id="datalist">
                  
          <href="javaScript:first()">第一頁</a>&nbsp;&nbsp;
                   
          <href="javaScript:up()">上一頁</a>&nbsp;&nbsp;
                  
          <href="javaScript:next()">下一頁</a>&nbsp;&nbsp;
                   
          <href="javaScript:last()">最后一頁</a>&nbsp;&nbsp;
                  
          <table width="524" cellspacing="1" bgcolor="#cccccc" class="usersTable" id="usersTable">
                     
          <thead>
                             
          <tr>
                                 
          <td bgcolor="#f5f5f5">用戶名</td>
                                 
          <td bgcolor="#f5f5f5">Email</td>
                                 
          <td bgcolor="#f5f5f5">年齡</td>                                              
                             
          </tr>
                     
          </thead>
                     
          <tbody id="usersBody">
                     
          </tbody>
                
          </table>
              
          </div>
              
          <br>
              
          <table width="80%" border="0" cellpadding="0" cellspacing="1" bgcolor="#cccccc">
                
          <tr>
                  
          <td width="23%" bgcolor="#f7f7f7">用戶名</td>
                  
          <td width="77%" bgcolor="#ffffff">
                    
          <input type="text" name="username" >
                  
          </td>
                
          </tr>
                
          <tr>
                  
          <td bgcolor="#f7f7f7">Email</td>
                  
          <td bgcolor="#ffffff">
                    
          <input type="text" name="email">
                  
          </td>
                
          </tr>
                
          <tr>
                  
          <td bgcolor="#f7f7f7">年齡</td>
                  
          <td bgcolor="#ffffff"><input type="text" name="age"></td>
                
          </tr>
                
          <tr>
                  
          <td colspan="2" align="center" bgcolor="#f5f5f5">
                    
          <input type="button" name="btn_modify" value="保存" onClick="do_add()">  
                    
          <input type="button" name="btn_modify" value="修改" onClick="do_modify()">  
                  
          </td>
                
          </tr>
              
          </table>
              
          <input type="hidden" id="xemail" value="xkd@qq.com" >
              
          <input type="hidden" id="xage" value="888" >
              
          <br>
              
          <input type="text" name="pos" value="0" > <button onclick="seePerson()">查詢</button><Br>
              
          <button onclick="dolistparame()">調用list做參數的方法</button><Br>
              
          <button onclick="callReturnList()">調用返回List的方法</button>
              
          </body>
          </html>






          posted on 2007-10-19 15:10 有貓相伴的日子 閱讀(1498) 評論(0)  編輯  收藏 所屬分類: dwr
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 辉县市| 泰安市| 兰西县| 台北市| 满洲里市| 梁河县| 巴东县| 金昌市| 张家界市| 饶阳县| 湖北省| 深水埗区| 洞头县| 乐陵市| 德昌县| 嘉黎县| 阿坝县| 江孜县| 从江县| 巫山县| 大悟县| 武夷山市| 徐汇区| 徐水县| 峨眉山市| 六安市| 乌审旗| 蒲城县| 德兴市| 天镇县| 台北县| 明溪县| 荔波县| 崇左市| 平遥县| 富锦市| 独山县| 定结县| 合水县| 敦化市| 娄底市|