ksqlQueryProcedure生成的ksqlAction可以直接在ksql参数中写要执行的ksql语句如:select AP_RQ.* from AP_RQ AP_RQ where AP_RQ.fName = :fname
其中的:fname是命名参数,在js中调用action的时候可以跟参数传参赋值达到动态过滤的效果
但通过ksqlQueryProcedure生成的ksqlAction是不能:命名参数赋值,要通过action中Map类型的参数variables才可以,具体实现如下:
//定义action需要的map参数 var mapParam = new biz.Request.MapParam(); mapParam.put("fname", 'test');//把ksql中:命名参数以及对应的值放到map中 //定义action参数把map参数传给variables var actiomParam = new biz.Request.ActionParam(); actiomParam.setMap("variables", mapParam); biz.Request.sendBizRequest({ "context" : this.getContext(), "action" : "reportLinkDetialAction", "parameters" : actiomParam, "callback" : function(callbackData) { if (callbackData.state) { alert("执行成功"); } else alert("执行失败"); } });
评一波