`

DWR中:Java对象与JS对象互换

    博客分类:
  • DWR
阅读更多
一 DWR配置
1、web.xml
<?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>dwr-invoker</servlet-name>    
        <servlet-class>uk.ltd.getahead.dwr.DWRServlet</servlet-class>    
                  <init-param>      
                        <description></description>      
                        <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>
</web-app>


2、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>  
<allow>    
   <create creator="new" javascript="ServiceArea">      
       <param name="class" value="onlyfun.caterpillar.Service" />    
   </create> 
   <create creator="new" javascript="Office">      
       <param name="class" value="onlyfun.caterpillar.Office" />    
   </create>  
   
   <!--可以将js对象转换为Java-->
   <convert converter="bean" match="onlyfun.caterpillar.Person" />
</allow>
</dwr>



/**
  *Java对象转换为JS对象,用JS调用Java的方法
  *
  */
function change(){
	var objSelect=document.getElementById('mySelect');
	var index = objSelect.selectedIndex;
 
	if(index >= 0 ) {  
	 ServiceArea.getOptions(index,result);
	}
}

function result(list){
	DWRUtil.removeAllOptions("city");
	DWRUtil.addOptions("city", list);
}

/**
  *Java对象转换为JS对象,用JS调用Java的方法
  *
  */

function fun(){
	var person = {id:2,name:"emily",age:22};
	alert(person);
	Office.setPerson(person);
}


<body> 
     城市: <select id="mySelect" onchange="change()">
            <option id=0 value="0">please select</option> 
            <option id=1 value=1>成都</option>
            <option id=2 value=2>重庆</option> 
        </select> 
     区域: <select id="city">
            <option>please select left</option>
        </select>



public class Service {
    public Object[] getOptions(int id){
    	List<String> options = new ArrayList<String>();
    	if (id == 0) {
    		options.add("please select left");
    	}
    	else if(id == 1) {
    	 options.add("锦江区");
    	 options.add("武侯区");
    	 options.add("金牛区");
    	} 
    	else if(id == 2){
    		 options.add("渝中区");
        	 options.add("渝北区");
        	 options.add("江北区");
    	}
    	
    	return options.toArray();
    }
       
}


public class Person {
	private int id;
	private String name;
	private int age;

	public int getId() {
		return id;
	}

	public String getName() {
		return name;
	}

	public void setId(int id) {
		this.id = id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setAge(int age) {
		this.age = age;
	}

	public int getAge() {
		return age;
	}

}


public class Office {
  private Person person;

public Person getPerson() {
	  return person;
}

public void setPerson(Person person) {
	this.person = person;
	if(person != null ){
		System.out.println("person.name="+person.getName());
		System.out.println("person.id="+person.getId());
		System.out.println("person.age="+person.getAge());
	}
 }
  
}



控制台输出:

person.age=22
person.name=emily
person.id=2 
 
分享到:
评论

相关推荐

    DWR:java ajax application

    ### DWR:Java AJAX 应用程序框架详解 #### 一、引言 随着Web技术的发展,用户对网站的交互性和响应速度提出了更高的要求。传统的Web应用开发方式已无法满足这些需求,因此Ajax(Asynchronous JavaScript and XML...

    dwr测试,java调用js

    DWR的主要目标是简化AJAX(Asynchronous JavaScript and XML)开发,使得开发者能够轻松地在浏览器中调用服务器上的Java方法,就像调用本地JavaScript函数一样。这个技术极大地提升了用户体验,因为数据可以在不刷新...

    DWR: Easy AJAX for JAVA

    2. **自动序列化**:DWR 可以自动处理数据序列化工作,将 Java 对象转换为 JSON 格式,方便前端使用。 3. **错误处理与调试**:提供了一套完善的错误处理机制,支持调试模式,便于开发者定位问题。 4. **安全性**:...

    springboot整合dwr实现js调用java方法

    通过DWR,开发者可以在不涉及繁琐的AJAX请求和响应处理的情况下,直接在JavaScript中调用Java对象的方法,使得前端和后端的通信变得更为便捷。 **整合SpringBoot与DWR** 1. **添加依赖**:在SpringBoot项目的`pom....

    DWR中各种java方法的调用

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端的Java对象进行直接交互,从而实现Ajax(Asynchronous JavaScript and XML)应用。这个技术使得开发者能够轻松地构建动态、交互性强的...

    dwr课件,java,反向ajax

    2. 返回Map:Java端创建Map并填充分配好的键值对,通过DWR调用返回。在JavaScript端,这将表现为一个JavaScript对象,其中的属性名对应于Map的键,属性值对应于Map的值。 五、获得DWR上下文代码 DWR上下文(DWR...

    dwr-任何java类-测试

    这个“dwr-任何java类-测试”主题着重于如何利用DWR来调用Java类的方法并在前端JavaScript中显示结果。 首先,我们需要理解DWR的工作原理。DWR通过创建一个JavaScript接口,该接口映射到服务器上的Java类和方法。...

    DWR js框架 javascript框架 web与java交互 Direct Web Remoting Ajax开源框架

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许Web应用程序在客户端的JavaScript和服务器端的Java之间进行直接的、异步的通信,实现了Web应用中的Ajax功能。DWR通过自动化处理JavaScript和Java之间的类型...

    dwr实例,JavaScript调用java方法的小例子

    DWR简化了AJAX(Asynchronous JavaScript and XML)应用的开发,使得开发者可以方便地在JavaScript中直接调用Java方法,仿佛它们是本地函数一样。 在"TestDwr"这个压缩包中,我们可以预期包含了一个简单的DWR实例,...

    ext js配合dwr在java中的用法

    1. **配置DWR**:首先,在Java项目中集成DWR,添加DWR库,然后配置DWR的Context配置文件(如dwr.xml),定义允许JavaScript调用的Java类和方法。 2. **创建Java服务**:在Java后端编写需要暴露给前端的方法,这些...

    dwr推送及js访问java代码

    **DWR(Direct Web Remoting)**是一种Java技术,它允许JavaScript在客户端直接调用服务器端的Java方法,实现浏览器与服务器之间的实时交互。DWR的出现极大地简化了Web应用中的AJAX(Asynchronous JavaScript and ...

    java与js相互调用,含可用的dwr.jar

    在提供的压缩包中,`js与java相互调用.docx`文档可能详细阐述了如何设置和使用DWR实现Java和JavaScript的交互,包括配置步骤、示例代码和最佳实践。建议仔细阅读这份文档,以深入理解DWR的工作原理和实际应用。 ...

    dwr dwr项目 js 调用 java 后台 方法 js调用java后台方法 后台方法 异步

    - **响应**:Java方法执行完成后,结果会被转化为JavaScript对象并返回给客户端。 3. **DWR配置** 在服务器端,首先需要在Web应用的类路径下创建`dwr.xml`配置文件,列出允许客户端调用的Java类和方法。例如: `...

    DWR与Jsp内置对象关系

    DWR(Direct Web Remoting)是一个开源的Java库,它允许Web应用程序在客户端JavaScript和服务器端Java之间进行双向通信,从而实现动态、实时的Web应用交互。DWR简化了Ajax开发,使得开发者能够轻松地调用服务器端的...

    DWR技术文档、快速使用DWR、java技术

    DWR,全称Direct Web Remoting,是一种在Web应用程序中实现客户端JavaScript与服务器端Java代码之间直接交互的开源框架。它旨在简化远程方法调用(Remote Method Invocation,RMI)的过程,使得在浏览器环境中可以像...

    java 采用dwr框架构实现ajax

    DWR允许Java服务器端代码与JavaScript在客户端直接通信,使得Web应用可以像桌面应用一样实时更新,而无需刷新整个页面。 **一、DWR简介** DWR(Direct Web Remoting)是一个开源框架,它简化了Java服务器与...

    java dwr 使用例子

    Java DWR(Direct Web Remoting)是一个开源框架,它允许JavaScript和Java在Web应用程序中进行交互,实现异步通信,即Ajax(Asynchronous JavaScript and XML)功能。DWR简化了客户端与服务器端之间的数据交换,使得...

    java+dwr框架实现聊天室

    dwr(Direct Web Remoting)是一种基于Ajax技术的远程调用框架,提供了一个简单的方式来访问Java对象,实现了服务器推技术。dwr框架的主要特点是可以将Java对象暴露给客户端,实现了实时通信的功能。 二、dwr 框架...

Global site tag (gtag.js) - Google Analytics