Including a JavaScript file during Rhino eval

前端 未结 1 1911
南方客
南方客 2021-01-14 13:11

How would one include a script \"Bar\" from within another script \"Foo\" that is being evaluated by the Rhino Engine, running in Java.

IE, setup the script engine l

相关标签:
1条回答
  • 2021-01-14 13:59

    I managed to do it by passing the engine to itself and then calling eval() on it inside the Javascript code:

    Java code:

    ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript");
    engine.put("engine", engine);
    engine.eval(new FileReader("test.js"));
    

    test.js:

    engine.eval(new java.io.FileReader('function.js'));
    printHello();
    

    function.js:

    function printHello() {
        print('Hello World!');
    }
    

    output:

    Hello World!
    

    I don't know if that's the most elegant way to do it, but it works.

    0 讨论(0)
提交回复
热议问题