加載腳本有沒有什麼辦法,包括(或負載)一個外部腳本的腳本引擎,以便在外部腳本中定義的所有功能都在engine.eval()
方法可用?的Java默認情況下的ScriptEngine
在我們的應用程序中,我們根據用戶輸入執行一些java腳本代碼。當用戶請求時,應用程序將創建一個ScriptEngine實例並根據輸入參數執行相應的JavaScript代碼。
這裏的問題是JavaScript中有一些重複的功能。考慮一個例子:
方案1:計算距離時用戶輸入是十進制的緯度和經度
- >在這裏,我可以簡單地計算,並返回的距離。
情景2:計算用戶輸入時的距離度 - 分 - 秒緯度和經度。
- >這裏將度 - 分 - 秒輸入轉換成十進制緯度和經度,然後按照情景1進行處理。
由於它們是不同的情況,因此calculateDistance代碼將被複制。 那麼有什麼辦法可以讓腳本包含可重用的函數,並在創建ScriptEngine實例時加載它。
注意:我正在使用Java 8以及捆綁的Nashorn JavaScript引擎。
任何想法和/或建議?
你會澄清你的問題嗎? – jermel
更新了問題... – Pratham