随笔 - 6  文章 - 129  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(14)

随笔档案(6)

文章分类(467)

文章档案(423)

相册

收藏夹(18)

JAVA

搜索

  •  

积分与排名

  • 积分 - 822229
  • 排名 - 49

最新评论

阅读排行榜

评论排行榜

Ajax,它使浏览器可以为用户提供更为自然的浏览体验,对于j2EE WEB开发人员来说,使用DWR框架可以很简单的使用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. <!-- 指定DWR核心Servlet的实现类  -->
  15.   <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>  
  16.   <init-param>  
  17.    <param-name>debug</param-name>  
  18.    <param-value>true</param-value>  
  19.   </init-param>  
  20.  </servlet>  
  21.  <servlet-mapping>  
  22.   <servlet-name>dwr-invoker</servlet-name>  
  23.   <url-pattern>/dwr/*</url-pattern>  
  24.  </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 src="../../dwr/interface/DWRUser.js" type="text/javascript"></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'>  

     function regUserChked(){   
  2.   var username=$("username").value;   
  3.   DWRUser.isExist(username,showData);//showData回调函数   
  4.  }   
  5.  function showData(data){   
  6.      if(data){   
  7.           DWRUtil.setValue("userMsg","该用户名已经被注册,请更换您的用户名!");   
  8.      }else{   
  9.           DWRUtil.setValue("userMsg","恭喜您,该用户名尚未被注册!");         
  10.      }   
  11.  }   
  12. </script>  
  13. input type="text" name="username" value="" onblur="regUserChked()" /><div id="userMsg"></div>  


posted on 2007-10-07 12:33 Ke 阅读(949) 评论(0)  编辑  收藏 所属分类: springajax

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问