dwr与spring



 1、是什么?

              是一个框架。允许在Javascript中访问后台web服务器上的Java代码。

       2、有什么?

基于AJAX的框架,包含两个主要部分:一个运行在服务器端的Java Servlet,它处理请求并且向浏览器发回响应;运行在浏览器端的Javascript,它发送请求而且能动态更新网页。

DWR的工作原理是通过动态把Java类生成为Javascript。它不需要任何网页浏览器插件就能运行在网页上。

1. 修改spring的bean定义文件头部声明:
Xml代码 复制代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <beans xmlns="http://www.springframework.org/schema/beans"  
  3.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"  
  4.     xsi:schemaLocation="http://www.springframework.org/schema/beans  
  5.     http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
  6.     http://www.directwebremoting.org/schema/spring-dwr  
  7.     http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">  
  8. ......  


2. 添加<dwr:configuration>,就算没有内容,也必须声明一个空的:
Xml代码 复制代码  收藏代码
  1. <dwr:configuration>  
  2.     <dwr:convert type="bean" class="com.et.commerce.gwt.client.etProduct.model.EtProduct">  
  3.         <dwr:include method="productId,productName,partNo,costPrice,basicPrice"/>  
  4.     </dwr:convert>  
  5. </dwr:configuration>  

3. 在实现类的bean定义里添加<dwr:remote>。 一定要加在实现类的定义里,如果加在接口定义里会报错。
Xml代码 复制代码  收藏代码
  1. <bean id="IEtProductService" parent="transactionProxyFactoryBean">  
  2.     <property name="target">  
  3.         <ref bean="EtProductServiceImpl" />  
  4.     </property>  
  5. </bean>  
  6. <bean id="EtProductServiceImpl"  
  7.     class="com.et.commerce.gwt.server.etProduct.service.spring.EtProductServiceImpl">  
  8.     <dwr:remote javascript="DWRIEtProductService" />  

4. 在jsp中的使用
Jsp代码 复制代码  收藏代码
  1. <script type='text/javascript' src='${pageContext.request.contextPath}/dwr/interface/DWRIEtProductService.js'></script>     
  2. <script type='text/javascript' src='${pageContext.request.contextPath}/dwr/engine.js'></script>     
  3. <script type='text/javascript' src='${pageContext.request.contextPath}/dwr/util.js'></script>    
  4. <script type="text/javascript">  
  5. function onPartNoChanged(partNo){  
  6.     DWRIEtProductService.getEtProductByPartNo(partNo,productChanged);  
  7. }  
  8. function productChanged(data){  
  9.     if(data.length==1){       
  10.  alert(data[0].productName);  
  11.     }else if(data.length>1){  
  12.         alert("找到多个商品与此Part No 对应,请重新选择");  
  13.         DWRUtil.setValue("${actionName}_model_product_partNo","");    
  14.         document.getElementById("${actionName}_model_product_partNo").focus();          
  15.     }else{  
  16.         alert("没有找到与此Part No 对应的商品,请重新输入");  
  17.         DWRUtil.setValue("${actionName}_model_product_partNo","");   
  18.         document.getElementById("${actionName}_model_product_partNo").focus();           
  19.     }  
  20. }  

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值