![](/img/trans.png)
[英]How can I specify exact rhino implementation instead of that embedded to JDK?
[英]How can I specify my own Rhino context in Java?
我試圖確保我的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());
我得到了一個非法的州例外。 :(
關於如何工作的任何想法或樣本?
TIA
如果在調用initGlobal()
之前正在執行Context.enter()
,請嘗試反轉順序。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.