//调用返回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() { .... }