2

Rhino スクリプト (Java 6 で実行) が厳密であることを確認して、スクリプト開発者が式のスペルを間違えた場合に例外をスローするようにしています。現在、式は単純に「未定義」と評価されます。

Mozilla org https://developer.mozilla.org/en/New_in_Rhino_1.6R6によると、コンテキストで厳密なチェックを有効にする機能があります。これの実例が見つかりません。

これまでに行ったことは、ContextFactory を拡張して hasFeature メソッドをオーバーライドするクラスを作成することでした。

public class ScriptContextFactory extends ContextFactory {

    protected boolean hasFeature(Context context, int featureIndex) {

        switch (featureIndex) {
            case Context.FEATURE_STRICT_EVAL:
                return true;

            case Context.FEATURE_STRICT_VARS:
                return true;
        }

        return super.hasFeature(context, featureIndex);
    }
  }

次に、メインで私のものをデフォルトに設定します。

ContextFactory.initGlobal(new ScriptContextFactory());

不正な状態の例外が発生します。:(

これがどのように機能するかについてのアイデアやサンプルはありますか?

ティア

4

1 に答える 1

2

Context.enter()呼び出す前に行っている場合はinitGlobal()、順序を逆にしてみてください。

于 2010-07-19T18:48:13.790 に答える