- 浏览: 115139 次
- 性别:
- 来自: 上海
文章分类
最新评论
DWR中处理List调用返回JavaBean的java方法
4.1、dwr.xml的配置
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="com.dwr.TestClass" />
<include method="testMethod4"/>
</create>
<convert converter="bean" match=""com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
<creator>标签负责公开用于Web远程的类和类的方法,<convertor>标签则负责这些方法的参数和返回类型。
convert元素的作用是告诉DWR在服务器端Java 对象表示和序列化的JavaScript之间如何转换数据类型。
DWR自动地在Java和JavaScript表示之间调整简单数据类型。
这些类型包括Java原生类型和它们各自的封装类表示,还有String、Date、数组和集合类型。
DWR也能把JavaBean转换成JavaScript 表示,但是出于安全性的原因,要求显式的配置,<convertor>标签就是完成此功能的。
Converter="bean"属性指定转换的方式采用JavaBean命名规范,match=""com.dwr.TestBean"属性指定要转换的javabean名称,<param>标签指定要转换的JavaBean属性。
4.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
testClass.testMethod4(callBackFortestMethod4);
}
Function callBackFortestMethod4(data){
//其中date接收方法的返回值
//对于JavaBean返回值,有两种方式处理
//不知道属性名称时,使用如下方法
for(var property in data){
alert("property:"+property);
alert(property+":"+data[property]);
}
//知道属性名称时,使用如下方法
alert(data.username);
alert(data.password);
}
其中callBackFortestMethod4是接收返回值的回调函数
5、调用有JavaBean参数的java方法
5.1、dwr.xml的配置配置同4.1
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="com.dwr.TestClass" />
<include method="testMethod5"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
5.2、javascript中调用
首先,引入javascript脚本
其次,编写调用java方法的javascript函数
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object
data = { username:"user", password:"password" }
testClass.testMethod5(data);
}
6、调用返回List、Set或者Map的java方法
6.1、dwr.xml的配置配置同4.1
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="com.dwr.TestClass" />
<include method="testMethod6"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
</dwr>
注意:如果List、Set或者Map中的元素均为简单类型(包括其封装类)或String、Date、数组和集合类型,则不需要<convert>标签。
6.2、javascript中调用(以返回List为例,List的元素为TestBean)
首先,引入javascript脚本
其次,编写调用java方法的javascript函数和接收返回值的回调函数
testClass.testMethod6(callBackFortestMethod6);
}
Function callBackFortestMethod6(data){
//其中date接收方法的返回值
//对于JavaBean返回值,有两种方式处理
//不知道属性名称时,使用如下方法
for(var i=0;i<data.length;i++){
for(var property in data){
alert("property:"+property);
alert(property+":"+data[property]);
}
} //知道属性名称时,使用如下方法
for(var i=0;i<data.length;i++){
alert(data.username);
alert(data[i].username);//this is ok
alert(data.password);//error
}
}
7、调用有List、Set或者Map参数的java方法
7.1、dwr.xml的配置
<allow>
<create creator="new" javascript="testClass" >
<param name="class" value="com.dwr.TestClass" />
<include method="testMethod7"/>
</create>
<convert converter="bean" match="com.dwr.TestBean">
<param name="include" value="username,password" />
</convert>
</allow>
<signatures>
<![CDATA[ import java.util.List;
import com.dwr.TestClass;
import com.dwr.TestBean;
TestClass.testMethod7(List<TestBean>);
]]>
</signatures>
</dwr>
<signatures>标签是用来声明java方法中List、Set或者Map参数所包含的确切类,以便java代码作出判断。
7.2、javascript中调用(以返回List为例,List的元素为TestBean) 首先,引入javascript脚本其次,编写调用java方法的javascript函数
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object数组,即数组的每个元素均为
object data = [
{
username:"user1",
password:"password2"
},
{
username:"user2",
password:" password2"
}
];
testClass.testMethod7(data); } 注意: 1、对于第6种情况,如果java方法的返回值为Map,则在接收该返回值的javascript回调函数中如下处理: function callBackFortestMethod(data){
//其中date接收方法的返回值
for(var property in data){
var bean = data[property];
alert(bean.username);
alert(bean.password);
}
}
2、对于第7种情况,如果java的方法的参数为Map(假设其key为String,value为TestBean),则在调用该方法的javascript函数中用如下方法构造要传递的参数:
//定义要传到java方法中的参数
var data;
//构造参数,date实际上是一个object,其属性名为Map的key,属性值为Map的value
data = {
"key1":{
username:"user1",
password:"password2"
},
"key2":{
username:"user2",
password:" password2"
}
};
testClass.testMethod(data);
}
并且在dwr.xml中增加如下的配置段
<![CDATA[ import java.util.List;
http://www.blogjava.net/Images/O
发表评论
-
javascript 中数组使用方法
2009-10-29 13:27 497/* 由于javascript是一种无类型语言,所以一个数 ... -
ajax基础
2009-11-03 10:10 641XMLHTTPRequest---->JavaScrip ... -
ajax基础-jquery
2009-11-03 10:12 806//---------------------------- ... -
正则基础
2009-11-03 10:16 600<html> <script> ... -
可编辑的表格
2009-11-03 10:23 6121脚本jqueryedit.js //在页面装载时,让所有的t ... -
DWR-基本配置文件
2009-11-03 10:33 6501 dwr.xml <?xml version=&quo ... -
DWR-笔记
2009-11-03 10:36 346var xmlrequestXml; function cre ... -
DWR-util.js包工具方法
2009-11-03 10:41 942util.js包含一些有用的函数function,用于在客户端 ... -
DWR-返回-参数为Map
2009-11-03 10:43 633方法1: fuction test{ tt.hello( ... -
dwr模拟google suggest
2009-11-03 11:07 3751 web.xml <!------ AutoSugge ... -
正则基础2
2009-11-04 14:42 5051111-1234 re \d{5}(-\d{4})? ?指前 ... -
cookie.js
2009-11-04 15:42 576js读写cookie可以提高效率,现对代码作仔细说明,以备用: ... -
Event对象的属性
2009-11-29 21:37 465function MyAlert() { var msg=&q ... -
javascript DOM
2009-11-29 21:51 479<!------------------///事件处理 ... -
javascript语法_函数_对象_数组
2009-11-29 21:52 375<script language="javas ... -
事件显示声明
2009-11-29 21:55 713<script type=text/javascript ... -
LavaLamp mean
2009-12-06 23:18 601具有flash效果的菜单,基于jquery Download ... -
ajax 书签
2009-12-30 15:17 645框架: Yahoo UIProtoTypeJQueryOpen ... -
给Dreamweaver安装jQuery插件jQuery_API.mxp
2010-01-20 12:38 760要让Dreamweaver支持jQuery自动提示代码功能,方 ... -
jQuery-强大的jQuery选择器 (详解)[转]
2010-01-21 11:48 2831. 基础选择器 Basics 名称 ...
相关推荐
DWR支持多种数据类型在客户端和服务器之间自动转换,包括基本类型、集合、数组和自定义对象。此外,DWR还可以处理异步调用,这意味着用户界面可以在等待服务器响应的同时继续执行其他操作,提高了应用的响应速度。 ...
- 在服务器端编写一个返回列表数据的方法,该方法通常会返回一个List集合,其中包含用于填充下拉菜单的数据。 - 例如: ```java public List<Noun> getNounList() { // 实现逻辑,例如从数据库查询或硬编码一些...
DWR会自动处理与服务器的通信,包括参数的传递和结果的返回。 6. **安全性和权限控制**: DWR提供了安全特性,如白名单、IP限制等,结合Spring的安全框架,可以实现更高级别的用户认证和授权。 7. **优化和性能**: ...
4. **展示数据**:DWR返回的数据会被JavaScript接收并用于更新页面。这可能涉及到动态创建HTML元素,如表格,来展示List、Set和Map中的元素。DEMO可能包括使用DOM操作或者jQuery等库来实现动态渲染。 5. **异步更新...
5. **调用有JavaBean参数的Java方法**: 如果Java方法接受JavaBean作为参数,配置方式与返回JavaBean类似,只需要确保在`dwr.xml`中配置对应的`<param>`标签来指定要包含的属性。在JavaScript中,你可以直接将匹配的...
例如,Java方法返回一个`List<JavaBean>`,DWR会将其转换为JavaScript数组,每个元素都是对应的JavaScript对象。你可以在JavaScript中使用`for`循环遍历并访问这些对象。 此外,DWR提供了错误处理、安全控制、缓存...
这里的回调函数接收一个参数,即服务器端方法返回的集合转换后的JavaScript数组。 4. **数据类型转换**: DWR支持多种数据类型的转换,包括基本类型、自定义对象和集合。集合可以是ArrayList、LinkedList、Set等,...
**DWR(Direct Web Remoting)集合Spring实现异步提交** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、双向通信,从而实现异步数据交换。结合Spring框架,...
在【标题】中提到的“dwr 关于返回结果的相关配置”,主要涉及的是如何配置DWR以处理从Java方法返回的数据,如数组、集合等。以下将详细解释配置过程和相关知识点: 1. **无返回值和参数的Java方法** - 在`dwr.xml...
下面将详细解释DWR返回对象的处理,包括如何获取和处理不同类型的数据,如list、Map、Set以及JavaBean。 1. **无返回值和参数的Java方法** 在`dwr.xml`配置文件中,我们定义一个名为`testClass`的JavaScript接口,...
// 返回一个普通的Java对象,Cat对象为其属性提供setter和getter方法 public Cat getObject(String name) { return new Cat("服务器端" + name); } // 返回一个集合对象 public List<Person> getPersonList()...
当服务器端需要返回一个对象集合,例如List或Set时,DWR会将其转化为JavaScript数组。客户端可以通过遍历这个数组来处理每个对象,例如在表格或列表中显示这些数据。 在`t84DwrDemo`这个压缩包文件中,可能包含了...
当Java方法返回一个JavaBean对象时,DWR会自动将其转换为JavaScript对象。配置与上述类似,但Java方法`testMethod4`应返回一个JavaBean,例如`TestBean`。在JavaScript端,接收到的返回值可以直接用于操作,因为DWR...
在JavaScript中,DWR会自动将JavaBean转换为JavaScript对象,便于在客户端操作。例如,`testMethod4`可能返回一个JavaBean,这个JavaBean将在`callBackFortestMethod4`回调函数中以JavaScript对象的形式接收。 除了...
6. **处理返回的list集合**:当后端方法执行完毕并返回一个list集合时,DWR会自动将其转换为JavaScript的数组。前端代码可以通过遍历这个数组,动态地在网页上展示数据。例如,可以创建表格或者使用其他UI组件来显示...
你可以通过DWR调用服务器上的方法,将返回的字符串显示在前端页面上,或者将前端输入的字符串传送到服务器进行处理。 2. 带参的字符串:在DWR中,可以方便地传递带有参数的字符串。例如,你可以创建一个服务器端的...
4. **send方法**:发送请求,对于GET请求,参数可以为空,对于POST请求,需要传递要发送的数据。 5. **处理服务器响应**:在onreadystatechange事件中检查readyState和status属性,确定请求是否成功,并解析返回的...
这样,DWR会自动为这些方法生成对应的JavaScript接口。 3. **处理不同类型的参数**: DWR支持多种数据类型,包括基本类型(如int、String)、复杂对象、数组和集合等。例如,你可以定义一个Java方法,接收字符串、...
spring Location* 任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的情况下DWR会去读取spring的全局的配置文件. spring beanName 从配置文件中读取的bean的名称 “scope参数允许你...