前回試したところ、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));