在<<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提供了一些关键的注解,包括`@RemoteProxy`、`@RemoteMethod`、`@DataTransferObject`和`@RemoteProperty`,它们分别对应于`dwr.xml`文件中的不同配置元素。 1. `@RemoteProxy`:此注解表示该类将作为一个远程...
DWR与JSP的结合使用,可以让我们在不刷新整个页面的情况下更新特定部分,提供类似桌面应用的流畅体验。 **步骤1:设置DWR** 首先,你需要将DWR库添加到项目中。这通常通过在`pom.xml`(如果你使用Maven)或`build....
### DWR 入门与应用知识点详解 #### 一、DWR 概念与作用 DWR(Direct Web Remoting)是一种开源框架,用于简化Java服务器端与浏览器客户端之间的交互。它通过允许JavaScript直接调用Java方法,为前端开发者提供了...
**DWR3.0应用详解** DWR (Direct Web Remoting) 是一种JavaScript库,它允许Web应用程序在客户端和服务器之间进行实时通信,无需刷新页面。DWR3.0是其一个重要版本,提供了对现代浏览器的支持,包括新版的Opera,但...
DWR 是一个开源JavaScript库,允许Web应用程序在客户端和服务器之间进行实时通信,即实现Ajax(异步JavaScript和XML)功能。它简化了JavaScript与Java后端服务的交互,让开发者能够调用服务器上的方法,就像它们是...
3. `@DataTransferObject`:用于标记数据传输对象,通常用于在DWR之间传输复杂的数据结构。 4. `@RemoteProperty`:标记类的属性,使其可以直接在客户端被读取或设置。 例如,没有使用`@RemoteMethod`的方法在...
Direct Web Remoting (DWR) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态Web应用程序。DWR通过AJAX技术提供了一种简单的方法来创建富客户端界面,使得用户可以在不...
### 基于Ajax技术的DWR框架的研究与应用 #### 概述 随着Web技术的不断发展,用户对于Web应用的交互性和响应速度有了更高的要求。传统的Web开发方式已难以满足这种需求,因此Ajax(Asynchronous JavaScript and XML...
在提供的“AJAX框架DWR简单应用.pdf”文件中,你可能会找到关于如何设置DWR环境、编写Java接口、配置DWR配置文件、在前端JavaScript中使用DWR,以及示例代码和实际运行效果的详细教程。这个文件是学习和理解DWR工作...
5. **集成友好**:DWR可以与各种Web框架(如Spring、Struts等)无缝集成,使得已有的Web项目也能方便地引入AJAX功能。 6. **易于调试**:DWR提供了内置的控制台和日志功能,帮助开发者在开发和调试过程中快速定位...
在DWR与Extjs结合使用时,由于Extjs无法直接处理服务器返回的list数据,我们需要自定义一个POJO类,如`PageResult`,并使用`@DataTransferObject`注解,以便DWR能够正确地转换和传递数据。`PageResult`类包含了数据...
DWR (Direct Web Remoting) 是一个开源的Java库,它允许JavaScript在浏览器端与服务器端的Java对象进行交互,从而实现动态、实时的Web应用。在本教程中,我们将深入探讨DWR 3.0的搭建过程以及其基本概念。 ### 1. ...
**DWR(Direct Web Remoting)**是一种JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时通信,绕过传统的HTTP请求。DWR通过提供一套简单的API,使得开发者可以轻松地在JavaScript中调用Java方法,实现...
此外,了解DWR与其他技术如Ajax、Spring框架的集成方式,可以帮助开发者创建出结构清晰、易于维护的应用。 总之,DWR是一个功能强大的工具,可以大幅度简化基于AJAX的Web应用开发过程。它使得开发者可以轻松地实现...
Direct Web Remoting (DWR) 是一个开源Java库,它允许Web应用程序在浏览器和服务器之间进行实时通信,绕过传统的Ajax限制。DWR通过提供一套简单的API,使得开发者可以轻松地在JavaScript和Java之间调用方法,实现了...
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(Direct Web Remoting)是一种Java库,它允许JavaScript在客户端与服务器端进行直接的交互,从而实现在Web应用程序中的Ajax功能。DWR的主要目标是简化前后端的数据交换,提高用户体验,使得Web应用能够像桌面...
### DWR 3.0 与 DWR 2.0 的区别 DWR(Direct Web Remoting)是一种用于简化 AJAX 应用程序开发的技术。它允许客户端 JavaScript 直接调用服务器端 Java 方法,从而降低了 AJAX 编程的复杂度。DWR 的最新版本为 3.0...
### DWR入门与应用 #### 一、DWR简介及安装配置 DWR(Direct Web Remoting)是一种简化Ajax开发的框架,它使得Java开发者能够更轻松地将服务器端的Java对象暴露给客户端的JavaScript代码进行调用。通过DWR,开发者...