java - 防止 Beanshell 中的变量消失

标签 java global-variables beanshell

我正在尝试在 java 应用程序中使用 Beanshell 来执行用户提供的“addon”文件。由于插件的“主”代码是在重复循环中调用的,因此某些插件需要使用在此代码范围之外初始化的全局变量,以便跟踪需要多个循环周期的事物。我试图通过将 beanshell 解释器设置为来做到这一点

interpreter.eval("float xPositions;");

while(condition) {

interpreter.eval("xpositions++;");

}

问题是,当 beanshell 获取第二个 eval 时,它忘记了该变量存在。有没有办法阻止它这样做?

最佳答案

这是要走的路:interpreter.set("myVarName", myValue);

顺便说一句:beanshell 有一个错误修复版本,称为 beanshell2,位于 http://code.google.com/p/beanshell2可用。

关于java - 防止 Beanshell 中的变量消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421460/

相关文章:

javascript - 如何验证返回的 JSON 响应是否按排序顺序排列?

java - Java 中 URL 调度的动态类加载

java - 是否建议在 java 中使用 PreparedStatement.setBoolean(1, Boolean.TRUE)?

java - Android/Java CheckBox 返回 null,即使已初始化

javascript - 为什么这个全局计数器变量不能与 setTimeout 一起使用?

javascript - 全局变量有什么不好?

java - JXMapKit 使用 getGpxTrack() 绘制路线

mongodb - SvelteKit 与 MongoDB ReferenceError : global is not defined

java - 一种跨语言的 Java/Beanshell 方法来检查 void 和 null

java - 如何在 Beanshell PostProcessor 中获取一个或多个 Http 采样器响应