如何在Java中指定自己的Rhino上下文?
我正试图确保我的Rhino脚本(在Java6下运行)是严格的,这样,如果脚本开发人员拼错了一个表达式,我希望抛出一个异常。目前,表达式的计算结果只是“未定义” 现在根据Mozilla org的说法,有一些功能可以在上下文中实现严格的检查。我找不到一个有效的例子 到目前为止,我所做的是编写一个类来扩展ContextFactory,然后重写hasFeature方法如何在Java中指定自己的Rhino上下文?,java,javascript,rhino,javax.script,Java,Javascript,Rhino,Javax.script,我正试图确保我的Rhino脚本(在Java6下运行)是严格的,这样,如果脚本开发人员拼错了一个表达式,我希望抛出一个异常。目前,表达式的计算结果只是“未定义” 现在根据Mozilla org的说法,有一些功能可以在上下文中实现严格的检查。我找不到一个有效的例子 到目前为止,我所做的是编写一个类来扩展ContextFactory,然后重写hasFeature方法 public class ScriptContextFactory extends ContextFactory { prot
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());
我得到了一个非法的州例外:(
关于这是如何工作的,有什么想法或样本吗
TIA如果您正在执行
上下文。请在调用initGlobal()
之前输入()