相关疑难解决方法(0)

如何使用Rhino在Javascript中将Java类中的方法添加为全局函数?

我有一个简单的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) {
        // ....
    }
}
Run Code Online (Sandbox Code Playgroud)

我想创建这个类的一个实例,并允许Javascript代码直接调用方法,如下所示:

deal("1.3736", 100000);
bid("1.3735", 500000);
Run Code Online (Sandbox Code Playgroud)

我现在能想到的唯一方法就是使用

ScriptEngine engine = new ScriptEngineManager().getEngineByName("js");
engine.put("utils", new Utils());
Run Code Online (Sandbox Code Playgroud)

然后utils.deal(...)在Javascript代码中使用.我也可以在Javascript中为每个方法编写包装函数,但应该有一种更简单的方法来自动为类的所有公共方法执行此操作.

javascript java rhino

13
推荐指数
1
解决办法
7654
查看次数

JSON数据 - 解析或'评估'

从安全角度来看,我可以看到只是对传入的JSON数据进行"评估"是一个严重的错误.如果您获得如下数据,则会遇到一些问题.

{ someData:((function() { 
    alert("i'm in ur code hackin' ur page"); 
})()) }
Run Code Online (Sandbox Code Playgroud)

我想知道最流行的Javascript库做了什么?它是手动解析还是仅仅是一个评估?

[编辑]

我不是在问是否应该进行eval/parse - 我问的是一些流行的Javascript库使用了什么方法(jQuery,Prototype等...)

javascript security json

4
推荐指数
1
解决办法
2320
查看次数

标签 统计

javascript ×2

java ×1

json ×1

rhino ×1

security ×1