如何在Java中指定自己的Rhino上下文?
作者:互联网
我试图确保我的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);
}
}
然后在Main中将我的设置为默认值.
ContextFactory.initGlobal(new ScriptContextFactory());
我得到了一个非法的州例外.
标签:rhino,javascript,java,javax-script 来源: https://codeday.me/bug/20191011/1895453.html