有两种方法发送Action请求,分别是sendBizRequest和sendBizRequest2,前者返回xml格式的参数,后者提供了返回json或者xml格式的参数的能力。
1、sendBizRequest方法,返回xml格式的参数——兼容保留
var response = justep.Request.sendBizRequest(
"/x5demo/misc/process/testKsql/testKsqlProcess","mainActivity", "testKsqlAction", param);
//判断请求是否执行成功
if(!justep.Request.isBizSuccess(response)){
throw new Error("调用Action失败");
}
2、sendBizRequest2方法,返回指定格式(json或者xml)的参数——推荐使用
justep.Request.sendBizRequest2({
dataType: "json",
action: "testKsqlAction",
parameters : param,
callback: function(result) {
if (result.state) {
alert("调用成功!");
} else {
throw new Error("调用失败!|" + result.response.message);
}
}
});
给Action传参
创建一个参数对象,添加参数。不同类型的参数使用不同的set方法
var actionParam = new justep.Request.ActionParam();
简单类型
actionParam.setString("stringParam", "传个字符串回去"); actionParam.setDate("dateParam", now);
actionParam.setTime('para_time', "12:55:55");
actionParam.setDateTime("datetimeParam", now);//日期时间类型对应到java中的Timestamp类型 actionParam.setInteger("integerParam", 9876);
actionParam.setFloat('para_float', 1.345); actionParam.setBoolean("booleanParam", true);
list类型
var listParam = new justep.Request.ListParam();
listParam.add(new justep.Request.SimpleParam("列表项1",justep.XML.Namespaces.XMLSCHEMA_STRING));
listParam.add(new justep.Request.SimpleParam("45678",justep.XML.Namespaces.XMLSCHEMA_INTEGER));
actionParam.setList("listParam", listParam);
map类型
var mapParam = new justep.Request.MapParam();
mapParam.put("key1", new justep.Request.SimpleParam("Map项1",justep.XML.Namespaces.XMLSCHEMA_STRING));
mapParam.put("key2", new justep.Request.SimpleParam("Map项2",justep.XML.Namespaces.XMLSCHEMA_STRING));
mapParam.put("key3", new justep.Request.SimpleParam("Map项3",justep.XML.Namespaces.XMLSCHEMA_STRING));
actionParam.setMap("mapParam", mapParam);
table类型
var dRole = justep.xbl("dRole");
actionParam.setTable("tableParam", new justep.Request.TableParam(dRole.Serialize(false, false)));