0

次のようにjavascript式をJavaプログラムに埋め込みます 単純な式言語をJavaに入れます

しかし、Java 1.5 の互換性を維持する必要があるため、ScriptEngine ではなく Rhino を直接使用する必要があることに気付きました。次のように評価を実行できると思います。

Context context = Context.enter();
try {
    Scriptable scope = context.initStandardObjects();
    String result = context.evaluateString(scope, expr, null, 0, null);
    return result
} finally {
    Context.exit();
}

しかし、代替手段は何ですか

jsEngine.put(fieldname.getScriptVariable(), value);

値を変数にマップする

4

2 に答える 2

0

私はあなたがする必要があることは次のとおりだと思います:

Object wrappedObject = Context.javaToJS(yourObjectHere, scope);
ScriptableObject.putProperty(scope, "yourVariableNameHere", wrappedObject);

Expose JavaAPIsRhinoの例を参照してください。

于 2011-07-19T01:02:21.673 に答える
0

Java 1.5 との互換性が必要な場合は、少なくとも Jakarta プロジェクトの BSF フレームワークを使用してください。これは、Java 1.6 で導入された Java スクリプト フレームワークに似ています。

于 2011-07-18T19:51:01.063 に答える