需求:通過關聯取得的ParamName參數可能存在多個值,需要對每個ParamName參數值進行處理
腳本:可通過3種不同的實現方式,將每個參數值作爲HTTP請求內容發出
web_reg_save_param("ParamName",
"LB/IC="id":"OutputParameter.",
"RB/IC=","",
"Ord=All",
"Search=Body",
"RelFrameId=1",
LAST);
...
Paramcount=atoi(lr_eval_string("{ParamName_count}")); //參數個數
i=1;
while (i<=Paramcount) {
sprintf(str,"{ParamName_%d}",i); //生成ParamName_i
//方法一:將變量轉爲參數,直接在請求中使用參數
lr_save_string(lr_eval_string(str),"Value"); //對每個參數進行處理
web_submit_data("FreeQueryServlet_24",
"Action=http://datasvr01:8081/freequery/FreeQueryServlet",
"Method=POST",
"RecContentType=text/html",
"Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
"Snapshot=t27.inf",
"Mode=HTTP",
ITEMDATA,
"Name=className", "Value=ClientReportService", ENDITEM,
"Name=methodName", "Value=addNewParam", ENDITEM,
"Name=params", "Value=["{ClientID}","OutputParameter.{Value}",""]", ENDITEM,
LAST);
//方法二:通過strcpy、strcat方式組織字符串,通過變量發送請求
strcpy(s,"Value=["{ClientID}","OutputParameter.");
strcat(s,str);
strcat(s,"",""]");
web_submit_data("FreeQueryServlet_24",
"Action=http://datasvr01:8081/freequery/FreeQueryServlet",
"Method=POST",
"RecContentType=text/html",
"Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
"Snapshot=t27.inf",
"Mode=HTTP",
ITEMDATA,
"Name=className", "Value=ClientReportService", ENDITEM,
"Name=methodName", "Value=addNewParam", ENDITEM,
"Name=params", s, ENDITEM,
LAST);
//方法三:通過sprintf格式化輸出生成需要的字符串,通過變量發送請求
sprintf(s,"Value=["{ClientID}","OutputParameter.%s",""]",str);
web_submit_data("FreeQueryServlet_24",
"Action=http://datasvr01:8081/freequery/FreeQueryServlet",
"Method=POST",
"RecContentType=text/html",
"Referer=http://datasvr01:8081/freequery/js/freequery/businessview/Preview.html",
"Snapshot=t27.inf",
"Mode=HTTP",
ITEMDATA,
"Name=className", "Value=ClientReportService", ENDITEM,
"Name=methodName", "Value=addNewParam", ENDITEM,
"Name=params", s, ENDITEM,
LAST);
i++;
}