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