`
k_lb
  • 浏览: 837813 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论
  • kitleer: 据我所知,国内有款ETL调度监控工具TaskCTL,支持ket ...
    kettle调度

dwr @DataTransferObject与@RemoteProperty的应用

 
阅读更多

在<<DWR Annotation入门>>中已简单介绍了dwr的使用,对于其中涉及到的两个注解@DataTransferObject和@RemoteProperty,本文将进一步介绍

@DataTransferObject对应于原来dwr.xml文件中的convert标签,用于转换Java对象;

@RemoteProperty则对应于convert标签中的 <param name=”include” value=”" />。


本文在<<DWR Annotation入门>>基本中新建类Entity,代码如下

package model;

import org.directwebremoting.annotations.DataTransferObject;
import org.directwebremoting.annotations.RemoteProperty;

@DataTransferObject
public class Entity {
	
	private String id="";
	
	private String title="";
	@RemoteProperty
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	@RemoteProperty
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	

}

然后修改Test.java, 新建方法getEntity(Entity entity)

package model;
import org.directwebremoting.annotations.RemoteMethod;
import org.directwebremoting.annotations.RemoteProxy;

@RemoteProxy( name="test")
public class Test {
	@RemoteMethod  
	public String getString(String para)
	{
		return "return "+para;
	}
	@RemoteMethod  
	public Entity getEntity(Entity entity)
	{
	
		if(entity==null)
			entity=new Entity();
		entity.setId("return "+entity.getId());
		entity.setTitle("return " +entity.getTitle());
		return entity;
	}
}



修改配置文件web.xml, 增加classes参数的内容

<servlet>
        <servlet-name>dwr-invoker</servlet-name>
        <servlet-class>
            org.directwebremoting.servlet.DwrServlet
        </servlet-class>
        
        <init-param>
            <param-name>debug</param-name>
            <param-value>true</param-value>
        </init-param>
        <init-param>
            <param-name>classes</param-name>
            <param-value>
           model.Test,model.Entity
            </param-value>
        </init-param>
    </servlet>

    <servlet-mapping>
        <servlet-name>dwr-invoker</servlet-name>
        <url-pattern>/dwr/*</url-pattern>
    </servlet-mapping>


最后我们再来看看在jsp页面中如何使用,再下面的代码中,我们选创建js对象para,然后将para作为参数传入getEntity()

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <script type='text/javascript' src='/TestDwr/dwr/engine.js'></script>
  <script type='text/javascript' src='/TestDwr/dwr/interface/test.js'></script>
  

 <script type="text/javascript">
 
 var para={};
 para["id"]="2";
 para["title"]="3";

  test.getEntity(
 	para,//getString的参数
 	function(data){
		document.write('id:'+data["id"]+'<br/>'+'title:'+data["title"]);
	}//当getString从服务器取回数据后的回调函数,data为返回的值
 );
 </script>   
   </head>
  
  <body>

  </body>
</html>

最后,就可以运行该web程序了

分享到:
评论

相关推荐

    DWR框架的实现DWR框架的实现

    DWR提供了一些关键的注解,包括`@RemoteProxy`、`@RemoteMethod`、`@DataTransferObject`和`@RemoteProperty`,它们分别对应于`dwr.xml`文件中的不同配置元素。 1. `@RemoteProxy`:此注解表示该类将作为一个远程...

    DWR+JSP的简单实例

    DWR与JSP的结合使用,可以让我们在不刷新整个页面的情况下更新特定部分,提供类似桌面应用的流畅体验。 **步骤1:设置DWR** 首先,你需要将DWR库添加到项目中。这通常通过在`pom.xml`(如果你使用Maven)或`build....

    DWR_入门与应用-林信良(良葛格)

    ### DWR 入门与应用知识点详解 #### 一、DWR 概念与作用 DWR(Direct Web Remoting)是一种开源框架,用于简化Java服务器端与浏览器客户端之间的交互。它通过允许JavaScript直接调用Java方法,为前端开发者提供了...

    DWR3.0应用

    **DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...

    dwr,dojo框架应用实例

    DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...

    dwr框架详细介绍 讲解浅显易懂

    3. `@DataTransferObject`:用于标记数据传输对象,通常用于在DWR之间传输复杂的数据结构。 4. `@RemoteProperty`:标记类的属性,使其可以直接在客户端被读取或设置。 例如,没有使用`@RemoteMethod`的方法在...

    dwr应用实例

    Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...

    基于Ajax技术的DWR框架的研究与应用

    ### 基于Ajax技术的DWR框架的研究与应用 #### 概述 随着Web技术的不断发展,用户对于Web应用的交互性和响应速度有了更高的要求。传统的Web开发方式已难以满足这种需求,因此Ajax(Asynchronous JavaScript and XML...

    AJAX框架DWR简单应用

    在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...

    DWR框架DWR框架

    5. **集成友好**:DWR可以与各种Web框架(如Spring、Struts等)无缝集成,使得已有的Web项目也能方便地引入AJAX功能。 6. **易于调试**:DWR提供了内置的控制台和日志功能,帮助开发者在开发和调试过程中快速定位...

    ExtjsDwr学习总结.pdf

    在DWR与Extjs结合使用时,由于Extjs无法直接处理服务器返回的list数据,我们需要自定义一个POJO类,如`PageResult`,并使用`@DataTransferObject`注解,以便DWR能够正确地转换和传递数据。`PageResult`类包含了数据...

    dwr3.0搭建与讲解

    DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态、实时的Web应用。在本教程中,我们将深入探讨DWR 3.0的搭建过程以及其基本概念。 ### 1. ...

    DWR与SPRING,DWR与STRUTS2的整合

    **DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时通信,绕过传统的HTTP请求。DWR通过提供一套简单的API,使得开发者可以轻松地在JavaScript中调用Java方法,实现...

    DWR技术的应用

    此外,了解DWR与其他技术如Ajax、Spring框架的集成方式,可以帮助开发者创建出结构清晰、易于维护的应用。 总之,DWR是一个功能强大的工具,可以大幅度简化基于AJAX的Web应用开发过程。它使得开发者可以轻松地实现...

    dwr应用开发jar包dwr.jar,DWR教程

    Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时通信,绕过传统的Ajax限制。DWR通过提供一套简单的API,使得开发者可以轻松地在JavaScript和Java之间调用方法,实现了...

    DWR与界面开发 资料大全

    DWR(Direct Web Remoting)是一种Java技术,用于在Web应用程序中实现富客户端(Rich Internet Applications,RIA)的交互。它允许JavaScript在浏览器端与服务器端的Java对象直接通信,从而实现实时的、动态的网页...

    dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;

    dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;dwr包;

    DWR中文文档DWR

    DWR(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,从而实现在Web应用程序中的Ajax功能。DWR的主要目标是简化前后端的数据交换,提高用户体验,使得Web应用能够像桌面...

    Dwr3.0 与 Dwr2.0 区别

    ### DWR 3.0 与 DWR 2.0 的区别 DWR(Direct Web Remoting)是一种用于简化 AJAX 应用程序开发的技术。它允许客户端 JavaScript 直接调用服务器端 Java 方法,从而降低了 AJAX 编程的复杂度。DWR 的最新版本为 3.0...

    DWR入门与应用

    ### DWR入门与应用 #### 一、DWR简介及安装配置 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它使得Java开发者能够更轻松地将服务器端的Java对象暴露给客户端的JavaScript代码进行调用。通过DWR,开发者...

Global site tag (gtag.js) - Google Analytics