1

Google App Engine ランタイム内で JavaScript コードを動的に評価したい。

Javaにはこの機能がありますが、これがGAEでもサポートされているかどうか知りたいです。

簡単なコードを提供していただけると大変助かります。それを使用する場合は、コメントを共有してください。ありがとうございます。

...

GAE はスクリプト言語をサポートしていますが、デフォルトでは「JavaScript」サービスは登録されていません。そのため、すぐに使える GAE は JavaScript を評価しません。

4

2 に答える 2

2

https://developers.google.com/appengine/docs/java/jrewhitelistには、ホワイトリストに登録された (許可された) API に javax.script.ScriptEngine が含まれているので、そうです。

于 2013-11-06T22:16:50.280 に答える
2

前回試したところ、ScriptEngine はホワイトリストに登録されていますが、本番環境では使用できません。アプリと一緒にRhino.jarをパッケージ化する必要がありました。

Java でのスクリプトの一般的な使用例については、Java ドキュメント自体を参照できます。

ただし、GAE/J 環境では、Rhino API を直接呼び出す必要があることに注意してください。

例えば、

// Import statements.
import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;

private Object executeUsingRhino(String script) throws Exception
{
    Context ctx = Context.enter();
    try
    {
        Scriptable scope = ctx.initStandardObjects();
        return ctx.evaluateString(scope, script, "<cmd>", 1, null);
    }
    finally
    {
        Context.exit();
    }
}


// Invoke a script that returns a string output using the following code snippet
String output = Context.toString(executeUsingRhino(script));
于 2013-11-07T04:40:04.230 に答える