如何使用 Rhino 在 Javascript 中添加 Java 类中的方法作为全局函数?
2022-09-04 22:04:31
我有一个简单的Java类,它有一些方法:
public class Utils {
public void deal(String price, int amount) {
// ....
}
public void bid(String price, int amount) {
// ....
}
public void offer(String price, int amount) {
// ....
}
}
我想创建这个类的一个实例,并允许Javascript代码直接调用这些方法,如下所示:
deal("1.3736", 100000);
bid("1.3735", 500000);
我现在能弄清楚的唯一方法是使用
ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
engine.put("utils", new Utils());
然后在 Javascript 代码中使用。我还可以用Javascript为每个方法编写包装器函数,但是应该有一种更简单的方法可以自动为类的所有公共方法执行此操作。utils.deal(...)