DWR ajax 实际应用讲解

阅读更多

首先要增加相应的JAR包,这里我们需要的包并不多。

dwr.jar,commons-logging-1.0.4.jar,log4j-1.2.12.jar。注意我这里使用的版本是dwr-2.0.5。

 

其实要在web.xml中配置dwr。dwr控制器会拦截请求完成相应的处理。



	
	
		index.jsp
	


	
		dwr-invoker
		org.directwebremoting.servlet.DwrServlet

		
			debug
			true
		
	

	
		dwr-invoker
		/dwr/*
	
	

 

增加dwr配置文件dwr.xml,定义那些类来提供方法,已经在页面调用时会用到的名字。我这里的配置文件是包含了所有示例配置的文件。






	
		
		
			
		

		
		
			
		
		
			
		
		
			
		
		
			
		
		
			
		
		
			
		
		
		
			
		
		
		
			
		


	


 

下面是一个简单示例,传递参数接收返回值。以下是需要的类代码

package org.dwr.re;

/**
 * 测试 接收参数返回字符串
 * @author 崔素强
 */
public class BackStr {	
	public String helloWord(String name){
		return "Hello " + name + "!";
	}
}

 

然后在dwr配置文件中定义这个类和名字,str将是将来在前台用到的名字。creator是new,我们也可以结合spring使用,这里就不再介绍。

		
			
		

 

测试这个请求是否可用,访问 http://localhost:8800/dwr/dwr/index.html 里面包含所有可以使用的请求。点击一个进去,点击str,helloWord是可以用的方法,输入参数点击调用。

我们也可以在这个地方同时点击其他返回了java数据对象的测试,可以弹出返回的内容。

 

在jsp中应用展现效果

页面调用时要引用几个js文件,分别是

    
    
    

 str.js就是在配置文件中定义的名字。

看效果

<%@ page language="java" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


  
        
    THE FIRST DWR TEST FOR STR
    
    
    
    
	
	
	
    
  
    
    
  

 

在实际应用中,我们代码中可能传递回去的是List,Map,数组,Set,也可能是多维数组,也可能是对象。对于除对象之外的应用,请参考工程里面的代码。

代码中后台直接返回Java中的各种数据对象,主要看一下前台如何解析即可。

 

关于返回对象,我们首先定义一个对象实体。在后台中直接返回这个对象。重点是我们要在dwr配置中增加一个对象转换器,具体配置内容是

 

package org.dwr.re;

/**
 * 测试 实体对象
 * @author 崔素强
 */
public class Users {	
	private String name;	
	private String pass;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getPass() {
		return pass;
	}
	public void setPass(String pass) {
		this.pass = pass;
	}
}

  

然后在js中解析,其实js中也可以创建对象,按照解析js对象的方式解析返回的内容即可。

    

  

另外如果在页面中定义了两个方法,那么调用有先后顺序吗?meNoOrder.jsp,MeNoOrder.java演示调用两个方法的顺序,只要在页面调用时指定是否顺序调用即可。

 

    

通过弹出窗口的顺序,我们可以判断是否是有序的。

 

请您到ITEYE看我的原创:http://cuisuqiang.iteye.com

或支持我的个人博客,地址:http://www.javacui.com

 

  • dwr.rar (1.6 MB)
  • 下载次数: 315

你可能感兴趣的:(dwr,ajax,javascript,异步,示例)