Dwr框架 有复杂对象类型的函数调用

//调用返回List、Set或者Map的java方法 
function callMethod()
{
    TestClass.testMethod(callback);
}
function callback(data)
{
    //data 为服务器方法的返回值
    for(int i=0;i<data.length;i++)
    {
        alert(data.username);
        alert(data.password);
    }
}
//如果java方法的返回值为Map,则在接收该返回值的javascript回调函数中如下处理: 
function callBack(data)
{ 
    for(var property in data)
    { 
        var bean = data[property]; 
        alert(bean.username); 
        alert(bean.password);
    } 
} 


function callMethod()
{
    var data; 
    //构造参数,date实际上是一个object数组,即数组的每个元素均为object 
    data = [ 
             { username:"user1", password:"password1" },
             { username:"user2", password:"password2"} 
           ]; 
    //or data  is an object not an array
    //构造参数,date实际上是一个object 
    //data = { username:"user", password:"password" } 

    TestClass.testMethod(data,callback); 
} 
//如果java的方法的参数为Map(假设其key为String,value为TestBean),则在调用该方法的javascript函数中用如下方法构造要传递的参数: 
function callMethod ()
{ 
    //定义要传到java方法中的参数 
    var data; 
    //构造参数,date实际上是一个object,其属性名为Map的key,属性值为Map的value 
    data = { 
            "key1":{ username:"user1", password:"password1" }, 
            "key2":{ username:"user2", password:"password2"} 
           }; 
    TestClass.testMethod(data,callback); 
} 
function callback()
{
    ....
}

你可能感兴趣的:(JavaScript,java,框架,bean,DWR)