struts+hibernate+spring+dwr的一个小小的DEMO

最近无聊,做了一个DWR的验证和eXtremeTable的应用的例子

前期的系统创建、struts、hibernate、spring的集成工作就不用说了,一路下来…………

主要看DWR的应用,它用于表单验证:

1、先看它的配置:

(1)在web.xml里加上:

xml 代码
  1.   <servlet>  
  2.    <servlet-name>dwr-invokerservlet-name>     
  3.    <servlet-class>uk.ltd.getahead.dwr.DWRServletservlet-class>  
  4.      <init-param>  
  5.      <param-name>debugparam-name>  
  6.      <param-value>trueparam-value>  
  7.    init-param>  
  8.     <load-on-startup>1load-on-startup>    
  9.  servlet>     
  10.     
  11.    <servlet-mapping>  
  12.   <servlet-name>dwr-invokerservlet-name>  
  13.   <url-pattern>/dwr/*url-pattern>  
  14. servlet-mapping>  
  15.    

 

(2)再建一个类,用于获取验证输出信息的属性文件,这个文件是参考了良葛格 的DWR 入門與應用(一)

里的Book代码

java 代码

  1. package test.common;   
  2.   
  3. import java.util.ResourceBundle;   
  4.   
  5. public class GetProperties{   
  6.     private ResourceBundle resource;   
  7.        
  8.     public GetProperties()   
  9.     {   
  10.            
  11.                               resource = ResourceBundle.getBundle("dwrPro");   
  12.      }   
  13.                
  14.     public String getDescription(String key)    
  15.     {   
  16.        return resource.getString(key);   
  17.     }   
  18.   
  19. }  

(3)编写属性文件dwrPro_zh_CN.propertie(中文)和dwr_en.properties(英文)

java 代码
  1. username_hasUsed = 用户名已用,请选择别的用户名   
  2. username_canUse  = 恭喜!用户名可以使用   
  3.   
  4. username_hasUsed =username has used!   
  5. username_canUse  = username can use!  

 

(4)配置dwr.xml,里面用了spring的bean 和java类

xml 代码
  1. <dwr>  
  2.   
  3.   <allow>  
  4.      <create creator="spring" javascript="userManager">  
  5.         <param name="beanName" value="userManager"/>  
  6.        <include method="findUserIsExist"/>  
  7.     create>  
  8.        
  9.   <create creator="new" javascript="User" scope="application">  
  10.             <param name="class" value="test.common.GetProperties"/>  
  11.         create>         
  12.   allow>  
  13. dwr>  

spring beanName  的value =“userManager”从applicationContext.xml里取得

xml 代码
  1. <bean id="userManagerTarget" class="test.spring.serviceImpl.UserServiceImpl">  
  2. <property name="userDao">  
  3.   <ref bean="userDao"/>  
  4. property>  
  5. bean>  
  6.        
  7.        
  8.  <bean id="userManager" class="org.springframework.aop.framework.ProxyFactoryBean">  
  9.     <property name="proxyInterfaces">  
  10.     <value>test.spring.service.IUserServicevalue>  
  11.     property>  
  12.     <property name="interceptorNames">  
  13.        <list>    
  14.         <idref bean="transactionInterceptor"/>    
  15.           <idref bean="userManagerTarget"/>  
  16.        list>  
  17.     property>       
  18.  bean>   

这里应该大家都懂,就不罗嗦了

 

(5)配好了这些,就可以在页面里用了

java 代码
  1.   
  2.   
  3.   
  4. "-//W3C//DTD HTML 4.01 Transitional//EN">   
  5.   
  6.      
  7.        
  8.        
  9.        
  10.        
  11.          
  12.     <script type='text javascript' src="dwr/&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;interface&lt;/span&gt;&lt;span&gt;/userManager.js"></script>   
  13.     <script type='text javascript' src="dwr/engine.js"></script>   
  14.     <script type='text javascript' src="dwr/util.js"></script>   
  15.     <script type='text javascript' src="dwr/&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;interface&lt;/span&gt;&lt;span&gt;/GetProperties.js"></script>   
  16.        
  17.     <script type='text javascript'="">   
  18.     function checkName()   
  19.     {   
  20.         var username = document.userForm.username.value;   
  21.         userManager.findUserIsExist(username,callback);   
  22.     }   
  23.        
  24.     function callback(data)   
  25.     {   
  26.       if(data == true)   
  27.       {   
  28.         
  29.         GetProperties.getDescription("username_hasUsed",prosess);   
  30.            
  31.       }   
  32.       else  
  33.       {   
  34.        GetProperties.getDescription("username_canUse",prosess);   
  35.       }   
  36.     }   
  37.   
  38.     function prosess(date)   
  39.     {   
  40.         DWRUtil.setValue('check_username',date);   
  41.     }   
  42.        
  43.        
  44.        
  45.     </script>   
  46.      
  47.      
  48.      
  49.        
  50.       "0">   
  51.            
  52.              Login:   
  53.              "text" name="user.name" id="username" οnblur="checkName()"/>"check_username">   
  54.            
  55.            
  56.              Password:   
  57.              "password" name="user.password" id="username" οnblur="checkpassword()"/>"check_password">   
  58.            
  59.            
  60.           "2" align="center">   
  61.            
  62.          
  63.     
  64.      

 

这里当填了Login框,当光标从输入框移开时就实行了

js 代码
  1. function checkName()   
  2.     {   
  3.         var username = document.userForm.username.value;   
  4.         userManager.findUserIsExist(username,callback);   
  5.     }  

 

userManager.findUserIsExist(username,callback)时关键,这里就用了

 <script type="text/javascript" src="dwr/interface/userManager.js"></script>

读取dwr.xml的userManager,然后读取applicationContext.xml里userManager  bean ,进而实行findUserIsExist方法。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值