熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

DWR - Direct Web Remoting 實際使用

2022-06-13   來源: Java核心技術 

  ajax喊了好多年還沒實際用過趁著DWR出來用一把
  
  用在一個很簡單的地方就是檢查是否有重復的名稱
  
  首先寫好一個類
  
  public class CommonServices{public boolean checkRepeatUser(String loginname){boolean result=false;省去具體代碼return result;}}
  
  在webxml中加上
  
  <servlet><
  servletname>dwrinvoker<
  /servletname><
  displayname>DWR Servlet<
  /displayname><
  servletclass>ukltdgetaheaddwrDWRServlet<
  /servletclass><
  initparam><
  paramname>debug<
  /paramname><
  paramvalue>true<
  /paramvalue><
  /initparam><
  /servlet><
  servletmapping><
  servletname>dwrinvoker<
  /servletname><
  urlpattern>/dwr/*<
  /urlpattern><
  /servletmapping>
  
  在WEBINF/dwrxml中
  
  <?xml version= encoding=UTF?><
  !DOCTYPE dwr PUBLIC //GetAhead Limited//DTD Direct Web Remoting //EN ><
  dwr><
  allow><
  create creator=new javascript=CommonServices><
  param name=class value=comtestCommonServices/><
  /create><
  /allow><
  /dwr>
  
  這是配一個類對應於js中哪一個類基本上象一個bean管理器
  
  在jsp中
  
  先引入js
  <script type=text/javascript src=<
  %=requestgetContextPath()%>/dwr/interface/CommonServicesjs><
  /script><script type=text/javascript src=<
  %=requestgetContextPath()%>/dwr/enginejs><
  /script><script type=text/javascript src=<
  %=requestgetContextPath()%>/dwr/utiljs><
  /script>
  
  前兩個是必須的CommonServicesjs會動態生成根據dwrxml
  
  寫一些方法:
  
  function showResult(b){if(b){alert(已經有重復的登錄名了!);
  }else{alert(登錄名尚未注冊過!);
  }}function checkRepeat(s){var o=getElement(s);
  if(o){CommonServicescheckRepeatUser(ovalueshowResult);
  }}function getElement(name){var result=null;
  var objs=documentgetElementsByName(name);
  if(objs){var o=objs[];
  result=o;}return result;}
  
  checkRepeat:傳入一個文本框的對象名取出內容調用後台CommonServices根據返回值顯示結果
  
  showResult:回調函數處理後台CommonServices的返回結果不知道為什麼要用這種方式干脆直接返回值不是挺好?還需要用回調?
  
  getElement:自定義的實用工具函數
  
  定義一下按鈕:
  <input type=button onclick=checkRepeat(userloginname) value=檢查是否重復>
  
  這樣點一個按鈕之後就會彈出對話框顯示是否重復的信息
  
  調用的大致流程是這樣的
  
  button>checkRepeat>CommonServicesjs>enginejs>dwr servlet>CommonServicesjava>DB
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26343.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.