Bean-shell后处理器代码:
int totalElements= Integer.parseInt(vars.get("totalElements"));
vars.put("totalElements", String.valueOf(totalElements));
在循环控制器中,我使用了以下这些,但无法获得此值。
${__javaScript(parseInt(${totalElements})};
${__javaScript(parseInt("${totalElements}"))};
${__V(totalElements)};
${totalElements};
答案 0 :(得分:0)
尝试不带分号的变量名:
另一个问题是,如果由于某种原因未定义变量totalElements
,则语句vars.get("totalElements")
将返回null
,解析Integer.parseInt(null)
将导致异常,这将导致异常导致采样器故障。如果这是一个理想的行为,那很好,但如果没有,你可以这样做:
String value = vars.get("totalElements");
int totalElements = (value != null) ? Integer.parseInt(value) : 0;
vars.put("totalElements", String.valueOf(totalElements));
因此,如果无法检索变量,totalElements
将设置为0,因此循环将不会运行。但是采样器也不会失败。
答案 1 :(得分:0)
我得到了这个问题的解决方案。按照以下脚本工作:
int totalElements= Integer.parseInt(vars.get("totalElements"));
vars.put("totalElements", String.valueOf(totalElements));
然后我在Loop Controller中使用${__javaScript("${totalElements}")}
并正常工作。