关联函数返回多个数据时两种方法实现随机选取
2012-09-17 15:11
816 查看
最近带工程师做项目时,发现当关联函数返回多个数据时,不能很好的实现随机选取服务器返回的数据
今天就总结一下 :
方法一:
优点:lr任何版本都能使用,
缺点:需要写的函数比较多
array_len=atoi(lr_eval_string("{css_files_count}"));
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
举例:
web_reg_save_param("css_files",
"LB/IC=link rel=\"stylesheet\"",
"RB/IC=\" >",
"Ord=ALL",
LAST);
web_url("ObjectInspectorServlet_3",
"URL=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?locale=zh_CN?loginFailed=false",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);
array_len=atoi(lr_eval_string("{css_files_count}"));
if(array_len>0){
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
lr_error_message("value=%s",lr_eval_string("{tempStr_Rand}"));
// lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
// lr_error_message(lr_eval_string("{cccc}"));
}
web_submit_data("WorkspacesDashlet.jsp",
"Action=http://{HostName}:{ServerPort}/opencrx-core-CRX/wizards/Dashboard/WorkspacesDashlet.jsp?requestId={RequestId_Dashlet}&event=41¶meter=xri*(xri%3A%2F%2F%40openmdx*org.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest)*id*(WorkspaceDashboardControl.W0.WorkspacesDashlet)",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
LAST);
方法二:
lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
优点:两个重点函数 lr_paramarr_random 和lr_save_string 简单
缺点:适用于lr9版本以上
举例:
web_reg_save_param("css_files",
"LB/IC=link rel=\"stylesheet\"",
"RB/IC=\" >",
"Ord=ALL",
LAST);
web_url("ObjectInspectorServlet_3",
"URL=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?locale=zh_CN?loginFailed=false",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);
array_len=atoi(lr_eval_string("{css_files_count}"));
if(array_len>0){
/*
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
lr_error_message("value=%s",lr_eval_string("{tempStr_Rand}"));
*/
lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
lr_error_message(lr_eval_string("{cccc}"));
}
web_submit_data("WorkspacesDashlet.jsp",
"Action=http://{HostName}:{ServerPort}/opencrx-core-CRX/wizards/Dashboard/WorkspacesDashlet.jsp?requestId={RequestId_Dashlet}&event=41¶meter=xri*(xri%3A%2F%2F%40openmdx*org.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest)*id*(WorkspaceDashboardControl.W0.WorkspacesDashlet)",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
LAST);
今天就总结一下 :
方法一:
优点:lr任何版本都能使用,
缺点:需要写的函数比较多
array_len=atoi(lr_eval_string("{css_files_count}"));
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
举例:
web_reg_save_param("css_files",
"LB/IC=link rel=\"stylesheet\"",
"RB/IC=\" >",
"Ord=ALL",
LAST);
web_url("ObjectInspectorServlet_3",
"URL=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?locale=zh_CN?loginFailed=false",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);
array_len=atoi(lr_eval_string("{css_files_count}"));
if(array_len>0){
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
lr_error_message("value=%s",lr_eval_string("{tempStr_Rand}"));
// lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
// lr_error_message(lr_eval_string("{cccc}"));
}
web_submit_data("WorkspacesDashlet.jsp",
"Action=http://{HostName}:{ServerPort}/opencrx-core-CRX/wizards/Dashboard/WorkspacesDashlet.jsp?requestId={RequestId_Dashlet}&event=41¶meter=xri*(xri%3A%2F%2F%40openmdx*org.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest)*id*(WorkspaceDashboardControl.W0.WorkspacesDashlet)",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
LAST);
方法二:
lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
优点:两个重点函数 lr_paramarr_random 和lr_save_string 简单
缺点:适用于lr9版本以上
举例:
web_reg_save_param("css_files",
"LB/IC=link rel=\"stylesheet\"",
"RB/IC=\" >",
"Ord=ALL",
LAST);
web_url("ObjectInspectorServlet_3",
"URL=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"TargetFrame=",
"Resource=0",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?locale=zh_CN?loginFailed=false",
"Snapshot=t8.inf",
"Mode=HTML",
LAST);
array_len=atoi(lr_eval_string("{css_files_count}"));
if(array_len>0){
/*
srand(time(NULL));
index=rand()%array_len+1;
sprintf(tempStr,"{css_files_%d}",index);
lr_save_string(lr_eval_string(tempStr),"tempStr_Rand");
lr_error_message("value=%s",lr_eval_string("{tempStr_Rand}"));
*/
lr_save_string(lr_eval_string(lr_paramarr_random("css_files")),"cccc");
lr_error_message(lr_eval_string("{cccc}"));
}
web_submit_data("WorkspacesDashlet.jsp",
"Action=http://{HostName}:{ServerPort}/opencrx-core-CRX/wizards/Dashboard/WorkspacesDashlet.jsp?requestId={RequestId_Dashlet}&event=41¶meter=xri*(xri%3A%2F%2F%40openmdx*org.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest)*id*(WorkspaceDashboardControl.W0.WorkspacesDashlet)",
"Method=POST",
"TargetFrame=",
"RecContentType=text/html",
"Referer=http://{HostName}:{ServerPort}/opencrx-core-CRX/ObjectInspectorServlet?requestId={RequestId_Reg}&event=6¶meter=xri*%28xri%3A%40openmdx%3Aorg.opencrx.kernel.home1%2Fprovider%2FCRX%2Fsegment%2FStandard%2FuserHome%2Fguest%29",
"Snapshot=t9.inf",
"Mode=HTML",
ITEMDATA,
LAST);
相关文章推荐
- 实现发邮件方法,随机返回失败成功,50个线程同时调用sendEmail发送1000封邮件,统计发送失败和成功的个数
- 两种前台获取数据的方法底层的实现
- 选取页面全部TextBox,并赋值的两种方法——从服务器端和JS实现
- Java多线程初学者指南(8):从线程返回数据的两种方法
- PHP中实现随机密码生成的两种方法
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- 用SQL语句实现随机查询数据并不显示错误数据的方法
- 从线程返回数据的两种方法
- 由计算机产生0-9之间的随机整数,用户输入猜测的数据,统计用户猜测的次数。产生随机数可以使用Math.rangom()静态方法,该方法返回正的double类型浮点数位于(0.0 1.0】间。
- ajax中返回数据的编码格式及不缓存的两种方法:
- JavaScript数组对象实现增加一个返回随机元素的方法
- C#实现向已存在的Excel文件中写入数据实例(两种方法)
- PHP开发小技巧④—两种方法实现获取随机字符串
- Extjs与Struts2交互,返回JSON数据的两种实现方式
- 两种方法实现STM32F103向串口一直发送数据(程序源码,已测试)
- Python实现生成随机数据插入mysql数据库的方法
- Struts2使用XML实现Validation校验数据的两种方法
- 从线程返回数据的两种方法
- 6.用插入排序对任意一组随机数据进行随机数组进行排序(用循环和递归两种方法)