DWR+SPRING整合

1、将dwr.jar放到应用的/WEB-INF/lib目录下

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

Java代码

  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文件

文件内容:

Java代码

  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='https://www.cnblogs.com/dwr/interface/DWRUser.js'></script>)来调用。param元素的name 属性值可以是class,beanName等,此处用beanName,value得值是定义在applicationContext.xml中某个 bean的id值。

4、创建一个实体bean供DWR转换成js

Java代码

  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

Java代码

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

6、在视图页面中调用

先导入以下文,每个文件的功能这里不再详述

Java代码

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

因为我的视图文件是放在/view/user/下,所以这里用了http://www.cnblogs.com/返回到根

具体调用:

Java代码

  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. lt;input type="text" name="username" value="" onblur="regUserChked()" /><div id="userMsg"></div> 
posted on 2011-06-16 13:52  草原和大树  阅读(1347)  评论(0编辑  收藏  举报