关于Web_reg_save_param的一个BUG说明

来源:互联网 发布:mac放大显示 快捷键 编辑:程序博客网 时间:2024/05/29 19:23
土匪太懒了,于是我又有机会出来说点东西了,情况是这样的。
在土匪某一次上课中遇到一个奇怪的问题,通过关联函数web_reg_save_param关联内容,当使用ord=all时可以看到匹配的内容有2条记录,但是当修改ord=2时,脚本关联提示没有匹配的记录条数,然后这个问题就让人崩溃了,完全不符合以前的理解概念啊。于是在土匪孜孜不倦、春风吹战鼓擂、天热不怕光脚等等下,终于找到了问题之所在。

触发这个问题的情况需要满足以下条件,首页A请求会扩展调用A1,A2两个资源,我们需要关联的内容例如是(土匪)存在与A与A1页面中,但A2没有
关联参数叫做paramarr关联边界是LB=(土匪 RB=)
A  (土匪很淫荡)
+---------A1 (土匪很风骚)
+---------A2  没有匹配项

所以使用ORD=ALL时应该会返回这样的内容
paramarr_1="很淫荡"
paramarr_2="很风骚"

但是修改为ord=2时就会错误,导致这个问题的原因是在于LR的web_reg_save_param函数是递归搜索资源的,关联会从A开始,然后A1,A2,在ALL的时候没有任何问题,但是当选择ord=1时就会出现问题。问题在于ord=1的值应该是“很风骚”而不是“很淫荡”(也可能反过来记不太清楚了,土匪口述忘了),其实就是后一个会覆盖前一个的情况,在这中状态下,自然Ord=2就没有匹配记录了。这个问题可以通过新版本的web_reg_save_param_ex中的Url来过滤回避。

总的来说,其实这个也不能说是个BUG,有些标题党,而是关联函数在使用中的一个细节原理而已,希望对遇到这个问题而不求甚解的朋友有点帮助。
0 0