系统中经常使用的是在js的一个function中新建一个var,来进行save或者update的操作。例如:
var vobjjbxx = {
bjlsh: bjlsh,
bjztbm : 'CG',
bjztms : '草稿',
bqbzcs : bqbz
}
DWREngine.setErrorHandler(errorHander);
DWREngine.setAsync(false);
bj_jbxxService.update_bjyjzt(vobjjbxx,function(){
alert("保存成功!");
});
DWREngine.setAsync(true);
首先创建一个对象,然后按照DWR的使用规则设置同步方式,调用java方法来向数据库写入或者更新内容。注意,使用DWR的时候要在js之前声明dwr。
<script src='<%=path%>/dwr/interface/sx_jbxxService.js' type='text/javascript'></script>
另外需要注意的是,写java方法的时候一般都会有返回值,在js中调用的时候,一般都会用回调函数来判断是否执行成功。要熟记该方法。
以上是往数据库中存入数据,如果想从数据库中取出数据进行判断该怎么做呢。
例如从数据库中取出一个list,然后取出list中保存的值:
var list = new Array();
DWREngine.setErrorHandler(errorHander);
DWREngine.setAsync(false);
sx_nblcbzdyService.getListBySxbmAndLcbm(sxbm,lcbm, function(data){
list = data;
});
DWREngine.setAsync(true);
var volcmblcbzdy = {
mbbm : "",
lcbm : "",
bzbm : "",
bzmc : "",
bzlx : "",
yl1 : "",//存储单位名称
yl2 : "",//存储岗位A名称
yl3 : ""//承诺时限
}
for(var i =0;i<list.length;i++){
volcmblcbzdy.mbbm = list[i].sxbm;
volcmblcbzdy.lcbm = list[i].lcbm;
volcmblcbzdy.bzbm = list[i].bzbh;
volcmblcbzdy.bzmc = list[i].bzmc;
volcmblcbzdy.bzlx = list[i].bzlx;
volcmblcbzdy.yl1 = list[i].zxjgmc;
volcmblcbzdy.yl2 = list[i].zxgwamc;
volcmblcbzdy.yl3 = list[i].cnsx;
DWREngine.setErrorHandler(errorHander);
DWREngine.setAsync(false);
lcmb_lcbzdyService.save(volcmblcbzdy,function(){});
DWREngine.setAsync(true);
}
alert("保存成功!") ;
}
要声明一个数组才能读入list的值,直接对list进行alert是会报错的。主要学习一下js中使用数组的方法。
另外调用java方法的时候,注意private方法是不能外部调用的,红色的就是private。