`

DWR-返回-参数为集合

阅读更多

DWR中处理List调用返回JavaBean的java方法

4.1、dwr.xml的配置

<dwr>

<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函数和接收返回值的回调函数

Function callTestMethod4(){      

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

<dwr>

<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函数

Function callTestMethod5(){

                  
//定义要传到java方法中的参数      

var data;      

//构造参数,date实际上是一个object      

data 
= { username:"user", password:"password" }      

testClass.testMethod5(data);

}


6、调用返回List、Set或者Map的java方法

6.1、dwr.xml的配置配置同4.1

<dwr>

<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函数和接收返回值的回调函数

Function callTestMethod6(){      

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的配置

<dwr>

<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函数

Function callTestMethod7(){

//定义要传到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函数中用如下方法构造要传递的参数:
function callTestMethod (){

              
//定义要传到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中增加如下的配置段

<signatures>

<![CDATA[ import java.util.List;

http://www.blogjava.net/Images/O
分享到:
评论

相关推荐

    dwr-2.0.5.jar&commons;-logging-1.0.4.jar

    DWR支持多种数据类型在客户端和服务器之间自动转换,包括基本类型、集合、数组和自定义对象。此外,DWR还可以处理异步调用,这意味着用户界面可以在等待服务器响应的同时继续执行其他操作,提高了应用的响应速度。 ...

    dwr-下拉菜单实现

    - 在服务器端编写一个返回列表数据的方法,该方法通常会返回一个List集合,其中包含用于填充下拉菜单的数据。 - 例如: ```java public List&lt;Noun&gt; getNounList() { // 实现逻辑,例如从数据库查询或硬编码一些...

    dwr与spring整合的相关资料收集 包括一个例子 dwr-comet

    DWR会自动处理与服务器的通信,包括参数的传递和结果的返回。 6. **安全性和权限控制**: DWR提供了安全特性,如白名单、IP限制等,结合Spring的安全框架,可以实现更高级别的用户认证和授权。 7. **优化和性能**: ...

    dwr-demo.rar_DEMO_DWR DE_dwr Demo_list set map

    4. **展示数据**:DWR返回的数据会被JavaScript接收并用于更新页面。这可能涉及到动态创建HTML元素,如表格,来展示List、Set和Map中的元素。DEMO可能包括使用DOM操作或者jQuery等库来实现动态渲染。 5. **异步更新...

    DWR中处理集合总结

    5. **调用有JavaBean参数的Java方法**: 如果Java方法接受JavaBean作为参数,配置方式与返回JavaBean类似,只需要确保在`dwr.xml`中配置对应的`&lt;param&gt;`标签来指定要包含的属性。在JavaScript中,你可以直接将匹配的...

    DWR框架怎么返回对象

    例如,Java方法返回一个`List&lt;JavaBean&gt;`,DWR会将其转换为JavaScript数组,每个元素都是对应的JavaScript对象。你可以在JavaScript中使用`for`循环遍历并访问这些对象。 此外,DWR提供了错误处理、安全控制、缓存...

    dwr调用带集合返回值的方法

    这里的回调函数接收一个参数,即服务器端方法返回的集合转换后的JavaScript数组。 4. **数据类型转换**: DWR支持多种数据类型的转换,包括基本类型、自定义对象和集合。集合可以是ArrayList、LinkedList、Set等,...

    DWR集合Spring实现异步提交

    **DWR(Direct Web Remoting)集合Spring实现异步提交** DWR(Direct Web Remoting)是一种开源JavaScript库,它允许Web应用程序在客户端与服务器之间进行实时、双向通信,从而实现异步数据交换。结合Spring框架,...

    dwr 关于返回结果的相关配置

    在【标题】中提到的“dwr 关于返回结果的相关配置”,主要涉及的是如何配置DWR以处理从Java方法返回的数据,如数组、集合等。以下将详细解释配置过程和相关知识点: 1. **无返回值和参数的Java方法** - 在`dwr.xml...

    dwr返回对象.doc

    下面将详细解释DWR返回对象的处理,包括如何获取和处理不同类型的数据,如list、Map、Set以及JavaBean。 1. **无返回值和参数的Java方法** 在`dwr.xml`配置文件中,我们定义一个名为`testClass`的JavaScript接口,...

    Dwr配置详解.doc

    // 返回一个普通的Java对象,Cat对象为其属性提供setter和getter方法 public Cat getObject(String name) { return new Cat("服务器端" + name); } // 返回一个集合对象 public List&lt;Person&gt; getPersonList()...

    DWR框架对各种类型方法调用的示例

    当服务器端需要返回一个对象集合,例如List或Set时,DWR会将其转化为JavaScript数组。客户端可以通过遍历这个数组来处理每个对象,例如在表格或列表中显示这些数据。 在`t84DwrDemo`这个压缩包文件中,可能包含了...

    dwr 各种调用方法

    当Java方法返回一个JavaBean对象时,DWR会自动将其转换为JavaScript对象。配置与上述类似,但Java方法`testMethod4`应返回一个JavaBean,例如`TestBean`。在JavaScript端,接收到的返回值可以直接用于操作,因为DWR...

    dwr的用法解析

    在JavaScript中,DWR会自动将JavaBean转换为JavaScript对象,便于在客户端操作。例如,`testMethod4`可能返回一个JavaBean,这个JavaBean将在`callBackFortestMethod4`回调函数中以JavaScript对象的形式接收。 除了...

    dwr的简单例子

    6. **处理返回的list集合**:当后端方法执行完毕并返回一个list集合时,DWR会自动将其转换为JavaScript的数组。前端代码可以通过遍历这个数组,动态地在网页上展示数据。例如,可以创建表格或者使用其他UI组件来显示...

    DWR.rar_dwr

    你可以通过DWR调用服务器上的方法,将返回的字符串显示在前端页面上,或者将前端输入的字符串传送到服务器进行处理。 2. 带参的字符串:在DWR中,可以方便地传递带有参数的字符串。例如,你可以创建一个服务器端的...

    AJAX 与 DWR框架

    4. **send方法**:发送请求,对于GET请求,参数可以为空,对于POST请求,需要传递要发送的数据。 5. **处理服务器响应**:在onreadystatechange事件中检查readyState和status属性,确定请求是否成功,并解析返回的...

    Dwr源码示例,包含调用java方法返回不同的类型

    这样,DWR会自动为这些方法生成对应的JavaScript接口。 3. **处理不同类型的参数**: DWR支持多种数据类型,包括基本类型(如int、String)、复杂对象、数组和集合等。例如,你可以定义一个Java方法,接收字符串、...

    DWR.xml配置文件说明书(含源码)

    spring Location* 任何以location开头的参数,每个参数都是指定一个spring的配置文件,在参数没有设置的情况下DWR会去读取spring的全局的配置文件. spring beanName 从配置文件中读取的bean的名称 “scope参数允许你...

Global site tag (gtag.js) - Google Analytics