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("执行失败");
}
});
评一波