DWR入门

Posted on 2008-04-20 16:55 探佚 阅读(508) 评论(0)  编辑  收藏 所属分类: CSS/JavaScript/AJAX

开发前准备:MyEclipse5.5 + DWR1.0
一、在web.xml文件中加入DWR的配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" 
          xmlns
="http://java.sun.com/xml/ns/j2ee"        
          xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" 
          xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee 
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>        
    
<display-name>AjaxDWR</display-name>  
    
<servlet>    
        
<servlet-name>DWRServlet</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>DWRServlet</servlet-name>    
        
<url-pattern>/dwr/*</url-pattern>  
    
</servlet-mapping>
</web-app>

二、编写Java类,后面通过DWRJS中调用Java

public class Manager {
    
public String say(String userName) {
        String msg 
= userName + "恭喜您!DWR测试成功!";
        
return msg;
    }
}

三、WEB-INF目录下添加dwr.xml文件。加入如下内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 1.0//EN" "http://www.getahead.ltd.uk/dwr/dwr10.dtd">

<dwr>
    
<init></init>
    
<allow>
        
<!--  将 Java 类 Manager 映射为 JavaScript 里面的对象 Manager -->
        
<create javascript="Manager" creator="new">
            
<param name="class" value="com.tanyi.core.Manager" />
        
</create>
    
</allow>
</dwr>

四、编写test.jsp文件
  
1、导入DWR相应类库

<!-- 
        dwr/interface/Hello.js  由DWRServlet根据dwr.xml中的設定生成 
        dwr/engine.js  负责客户端与服务器端通信
        dwr/util.js    封装了一些JS函数,可以直接调用
    
-->
    
<script type="text/javascript" src="dwr/interface/Manager.js" />
    
<script type="text/javascript" src="dwr/engine.js" />
    
<script type="text/javascript" src="dwr/util.js" />

   2、编写页面显示信息

用户名:<br />    
    
<input  type="text"  id="userName"/><br />
    响应信息:
<br/>
    
<div id="result"></div><br/>
    
<input type="button" value="确定" onclick="sendRequest()"/>

   3、编写JS代码,调用Java

<script type="text/javascript">
        
// 发送请求
        function sendRequest() 
        {   
// 1. 获得文本框userName中的值
            var user = $('userName').value;    
            
// 2. 调用Java类Manager.say(String userName)方法,并传入回调函数
            Manager.say(user, callback);
        }         
        
// 回调函数
        function callback(responseContent) 
        {   
            
// 3.将回调函数的值显示到id=result的div中
            DWRUtil.setValue('result', responseContent);
            
/*
            上面一句代码等效于:
            var oDiv = $('result');
            oDiv.innerHTML = responseContent;
            
*/
        }         
</script>

 


 


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


网站导航:
 

Copyright © 探佚