java - 借助 BeanShell 调用嵌入代码中的方法

标签 java beanshell

我需要在我的代码中调用一些java代码。我使用 BeanShell 来实现。 所以,我可以这样做:

public void testInterpreter() {
    Interpreter i = new Interpreter();
    i.eval("System.out.println("test1"));
}

但是如果我想在解释器中调用其他方法怎么办?我想要这样的东西:

public void testInterpreter() {
    Interpreter i = new Interpreter();
    i.eval("testMethod()");
}

public void testMethod() {
    System.out.println("test2")
}

但我收到错误“找不到命令”

最佳答案

将类的实例设置为解释器上的变量:

    i.set("instance", this);
    i.eval("instance.testMethod()");

关于java - 借助 BeanShell 调用嵌入代码中的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34740496/

相关文章:

java - 按 Json Object 中的一些字段排序

java - 为什么我的 Android 项目要查找 "main"函数?

java - Liquibase 日志级别更改

java - 新的 Mac App Store 会接受 java 应用程序吗?

java - 由java代码创建的csv将所有数据写入同一行

testing - 杰米 |如何定义变量,使其范围在 BeanShell 中的 {thread, Thread-Group, Test-Plan}

java - 使用哪种 JVM 脚本语言来定制 Java Web 应用程序?

java - 将 String 'temp' 值的每个新值添加到 ArrayList 中,而不覆盖之前的 'temp'

java - 计划使用关键字从 jmeter 脚本执行测试用例的选择

groovy - Hybris -> 如何使用执行 beanshell 脚本创建 cronjob?