DWR+SPRING整合

          Posted on 2007-09-19 13:20 優雅Dě頽廢 閱讀(594) 評論(0)  編輯  收藏 所屬分類: AJAX

          本文以一個DWR+SPRING的實例來說明DWR的使用

          1、將dwr.jar放到應用的/WEB-INF/lib目錄下

          2、配置web.xml,增加如下代碼:

          代碼

          1. <!--初始化WebApplicationContext-->  
          2.  <context-param>  
          3.         <param-name>contextConfigLocation</param-name>  
          4.         <param-value>/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml</param-value>  
          5.  </context-param>  
          6.  <listener>  
          7.        <listener-class>  
          8.              org.springframework.web.context.ContextLoaderListener   
          9.        </listener-class>  
          10.  </listener>  
          11. <!--配置DWR攔截器-->  
          12.  <servlet>  
          13.   <servlet-name>dwr-invoker</servlet-name>  
          14.   <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>  
          15.   <init-param>  
          16.    <param-name>debug</param-name>  
          17.    <param-value>true</param-value>  
          18.   </init-param>  
          19.  </servlet>  
          20.  <servlet-mapping>  
          21.   <servlet-name>dwr-invoker</servlet-name>  
          22.   <url-pattern>/dwr/*</url-pattern>  
          23.  </servlet-mapping>  

           

          3、增中dwr.xml文件

          文件內容:

          代碼

          1. <?xml version="1.0" encoding="UTF-8"?>  
          2. <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">  
          3. <dwr>  
          4.  <allow>  
          5.   <create creator="spring" javascript="DWRUser">  
          6.    <param name="beanName" value="DWRUser"/>  
          7.   </create>  
          8.  </allow>  
          9. </dwr>  

           

          creator屬性的值可以是new,struts,spring......因為此處是整合spring來做的,所以設置成“spring”,javascript="DWRUser" 表示實例轉換成javascript語言后以DWRUser命名,前臺頁面可以通過代碼(<script type='text/javascript' src='../../dwr/interface/DWRUser.js'></script>)來調用。param元素的name屬性值可以是class,beanName等,此處用beanName,value得值是定義在applicationContext.xml中某個bean的id值。

          4、創建一個實體bean供DWR轉換成js

          代碼

          1. package com.note.dwr;   
          2. import com.note.bussies.service.IUserService;   
          3. public class User {   
          4.  private IUserService ius;   
          5.     
          6.  public IUserService getIus() {   
          7.   return ius;   
          8.  }   
          9.  public void setIus(IUserService ius) {   
          10.   this.ius = ius;   
          11.  }   
          12.  public User(){   
          13.      
          14.  }   
          15.  public boolean isExist(String username) {   
          16.       Users user = this.ius.getUserByName(username);   
          17.       return (null == user) ? false : true;   
          18.  }   
          19. }  

           

          5、在applicationContext.xml中配置第4步寫的bean

          代碼

          1. ......   
          2.  <bean id="DWRUser" class="com.note.dwr.User">  
          3.   <property name="ius">  
          4.    <ref bean="UserService" />  
          5.   </property>  
          6.  </bean>  
          7. ......  

           

          6、在視圖頁面中調用

          先導入以下文,每個文件的功能這里不再詳述

          代碼

          1. <script type='text/javascript' src='../../dwr/interface/DWRUser.js'></script>  
          2. <script type='text/javascript' src='../../dwr/engine.js'></script>  
          3. <script type='text/javascript' src='../../dwr/util.js'></script>  

           

          因為我的視圖文件是放在/view/user/下,所以這里用了../../返回到根

          具體調用:

          代碼

          1. <script type='text/javascript'>  
          2.  function regUserChked(){   
          3.   var username=$("username").value;   
          4.   DWRUser.isExist(username,showData);//showData回調函數   
          5.  }   
          6.  function showData(data){   
          7.      if(data){   
          8.           DWRUtil.setValue("userMsg","該用戶名已經被注冊,請更換您的用戶名!");   
          9.      }else{   
          10.           DWRUtil.setValue("userMsg","恭喜您,該用戶名尚未被注冊!");         
          11.      }   
          12.  }   
          13. </script>  
          14. input type="text" name="username" value="" onblur="regUserChked()" /><div id="userMsg"></div>  

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          posts - 13, comments - 1, trackbacks - 0, articles - 0

          Copyright © 優雅Dě頽廢

          主站蜘蛛池模板: 岳阳县| 尉犁县| 汕头市| 义乌市| 布拖县| 辛集市| 山东省| 集贤县| 武陟县| 新丰县| 方正县| 奈曼旗| 贵州省| 讷河市| 久治县| 石屏县| 哈尔滨市| 建昌县| 莒南县| 扎赉特旗| 垦利县| 丹巴县| 华亭县| 平湖市| 龙口市| 沾化县| 南宁市| 夏河县| 沛县| 信阳市| 鲁山县| 新宁县| 全州县| 阳江市| 广宁县| 凭祥市| 邵武市| 兴和县| 邛崃市| 盐城市| 雷山县|