由于项目中使用到了dwr,所以让我开始慢慢去关注它,以前只是听说过但并没觉得有多好,它的安全性一直是我怀疑的地方,但是今天看了一下dwr文档,感觉还是有很多地方可以值得学习的!
说说项目中常用dwr的时候,其返回值和参数的一些配置和运用。
1:没有返回值也没有参数的情况下
2:返回值属于基本数据类型或者String,Integer等
3:返回集合Map、List、Set
4:返回一个bean对象
5:参数为bean
6:参数为集合类型(由于本人使用的是JDK4,所以没有测试以下功能,只有JDK5才支持泛型)
说说项目中常用dwr的时候,其返回值和参数的一些配置和运用。
1:没有返回值也没有参数的情况下
function btClick(){
DwrTest.getName();
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
public void getName(){
System.out.println("名字:哈哈哈哈!!!");
}
2:返回值属于基本数据类型或者String,Integer等
function btClick(){
DwrTest.getName(callBack);
}
function callBack(data){
alert("name:"+data);
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
public String getName(){
String name = "哈哈哈";
return name;
}
3:返回集合Map、List、Set
function btClick(){
DwrTest.getName(callBack);
}
function callBack(data){
for(var index in data){
alert(data[index]);
}
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
public Map getName(){
Map names = new HashMap();
String name1 = "哈哈!";
String name2 ="哈哈哈!";
String name3 = "哈哈!";
names.put("name1",name1);
names.put("name2",name2);
names.put("name3",name3);
return names;
}
4:返回一个bean对象
function btClick(){
DwrTest.getName("哈哈哈","男不男女不女",callBack);
}
function callBack(data){
alert("名字:"+data.name);
alert("性别:"+data.sex);
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
<convert converter="bean" match="com.mochasoft.ps.flfx.postriskmanager.action.Man">
</convert>
public Man getName(String name,String sex){
Man man = new Man();
man.setName(name);
man.setSex(sex);
return man;
}
5:参数为bean
function btClick(){
var man = {name:"哈哈哈",sex:"男"};
DwrTest.getName(man,callBack);
}
function callBack(data){
alert(data);
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
<convert converter="bean" match="com.mochasoft.ps.flfx.postriskmanager.action.Man">
</convert>
public String getName(Man man){
String strRet = man.getName()+"\t"+man.getSex();
return strRet;
}
6:参数为集合类型(由于本人使用的是JDK4,所以没有测试以下功能,只有JDK5才支持泛型)
function btClick(){
var man = [
{name:"哈哈哈",sex:"男"},
{name:"哈哈哈2",sex:"不男不女"}];
DwrTest.getName(man,callBack);
}
function callBack(data){
alert(data);
}
<create creator="new" javascript="DwrTest">
<param name="class" value="com.mochasoft.ps.flfx.postriskmanager.action.DwrTest"></param>
</create>
<convert converter="bean" match="com.mochasoft.ps.flfx.postriskmanager.action.Man">
</convert>
<signatures>
<![CDATA[
import java.util.List;
import com.mochasoft.ps.flfx.postriskmanager.action.Man;
import com.mochasoft.ps.flfx.postriskmanager.action.DwrTest
DwrTest.getName(List<Man> nos);
]]>
</signatures>
public String getName(List<Man> list) {
String strRet = "";
for (int i = 0; i < list.size(); i++) {
Man man = (Man) list.get(i);
strRet += man.getName() + "\t" + man.getSex();
}
return strRet;
}