DWR调用含有参数的JAVA类.doc
文本预览下载声明
DWR调用含有参数的JAVA类DWR(2008-07-12 12:02:46)
it? 分类:网页技术 附加经验:
1.我定义了一个Apb,然后属性是Pjhm(P大写)。当我通过Apb.Pjhm访问时,得不到数据,需要Apb.pjhm才能得到
ApbProcessor.query(ticketno,function(Apb) {
???????????????????? alert(Apb.pjhm);
????????????? });
1.? 关于传递多个参数
例如有这样一个java函数public boolean del(String sPjmc,String sPjhm) ,如何用DWR调用呢?
Var pjmc,pjhm…….赋值
glPjztbDwrProcessor.del(pjmc,pjhm,function(bol) {
??????? alert(bol);
});
依次罗列出参数即可
2.? 关于传递参数为一个类
假如类PjztbProcessor 有一个方法public Object query(Pjztb obj) 。参数为一个类。
首先,我们必须在dwr.xml中定义
??????? !—方法的类 --
??????? create creator=new javascript=glPjztbProcessor scope=page
?????????????? param name=class
????????????????????? value=com.ticketManager.DB.PjztbProcessor /
??????? /create
??????? !—参数的bean类 --
??????? convert converter=bean match=com.ticketManager.DB.Pjztb/
然后我们在javascript中定义这样一个javascript 类
function Pjztb(pzmc,pjhm,syzt) {
??????? this.pzmc = pzmc;
??????? this.pjhm = pjhm;
??????? this.syzt = syzt;
??????? 。。。。。
}
第三步,实例化这样的类
?????? var pz=new Pjztb();
??????? pz.pjhm=ticketno;
??????? pz.pzmc=微机A票;
最后一步就是调用它了
??????? glPjztbProcessor.query(pz,function(Pjztb){
?????????????? alert(Pjztb.zfzt);
??????? });
注意:开始的时候,我的PjztbProcessor 的方法是public Object query(Object obj),而不是public Object query(Pjztb obj)。这样的话,调用的时候会报出《missing method or missing parameter converters:glPjztbProcessor.query》的错误
3. dwr参数是list的情况
最近用到dwr参数是list的情况处理方法做个记号package com;public class DwrTest {??????? public String getSize(List data) { ???????????? return data.size(); ??????? }}
在dwr.xml中allow标签后面添加signatures ??? ![CDATA[ ??? import java.util.List; ??? import com.DwrTest; ??? DwrTest.getSize(ListString,String); ??? ]] /signatures
界面var list = new Array();??? list[0] = d;??? list[1] = s;??? DwrTest.getSize(list,function(data){??????? alert(data);??? });
ListString里面还可以是ListyourClass
显示全部