dwr和spring集成

通过JS自动调用Java程序。

 

过程比较简单,做个记录备忘。

 

1.环境

  a) DWR 2.0.1

  b) Spring 2.5

2.配置

  主要的配置有两个,一是在web.xml的定义,配置dwr的servlet;另一个是dwr.xml的配置,包含了远程调用的java方法。

代码
    <!-- DWR Configuration -->
    
<servlet>
        
<servlet-name>dwr-invoker</servlet-name>
        
<servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>
        
<init-param>
            
<param-name>debug</param-name>
            
<param-value>true</param-value>
        
</init-param>
    
</servlet>
    
    
<servlet-mapping>
        
<servlet-name>dwr-invoker</servlet-name>
        
<url-pattern>/dwr/*</url-pattern>
    
</servlet-mapping>

 

 

代码
<!DOCTYPE dwr PUBLIC
    "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN"
    "http://www.getahead.ltd.uk/dwr/dwr10.dtd"
>
<dwr>
    
<allow>
        
<create creator="spring" javascript="CodeListManager">
            
<param name="beanName" value="codeListManager"/>
            
<include method="getCodeListById"/>
            
<include method="getCodeListByCode"/>
        
</create>
        
<convert converter="bean" match="com.mpc.common.domain.CodeList"/>
    
</allow>
</dwr>

 

  上段代码中, creator="spring"表示调用的Spring中的bean,<param name="beanName" value="codeListManager"/>表示调用了Spring中beanId为codeListManager的对象。

 

3.编写页面

首先要引用js

代码
<script type="text/javascript" src="<c:url value='/dwr/interface/CodeListManager.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/engine.js'/>"></script>
<script type="text/javascript" src="<c:url value='/dwr/util.js'/>"></script>

 

 其中CodeListManager.js就是配置在dwr.xml文件中,对应的 javascript="CodeListManager",该JS是有dwr自动生成的,你可以通过URL直接把该js下载下来

 接着编写具体的实现方式

代码
<script type="text/javascript">
    
var myCall = function callBack(data){
        alert(data.name);
    }
    
function getCodeList(){
        CodeListManager.getCodeListByCode(
"CITY""01", myCall);
    }
    
</script>

 

 CodeListManager.getCodeListByCode("CITY", "01", myCall);是我具体要操作的业务逻辑类的方法,该方法包含了两个参数,最后一个参数是回调的参数。具体的返回值在回调函数中获取。

 

至此,我们就可以通过js代码直接调用java的方法了。

great! 

posted on 2010-03-25 13:43  香帅  阅读(384)  评论(0)    收藏  举报

导航