Java에서 Javascript 코드를 실행하려고합니다. Javascript 코드는 jquery를 사용하므로 내 코드 앞에 jquery.js를 추가합니다. 그러나 나는 자바 코드에서 이것을 실행, 나는 예외 위 있도록 창 개체에 액세스 할 수없는 것을 이해Java 코드에서 javascript (jQuery/Envjs) 호출
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "window" is not defined. (<Unknown source>#1) in <Unknown source> at line number 1
, 다음과 같은 예외가 발생합니다. EnvJs가 필수 환경에 대한 구현을 제공하므로 먼저 eval에 스크립트 컨텐츠를 생성하는 동안 컨텐츠를 먼저 배치하여로드하려고했습니다. 그러나,
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: TypeError: Cannot call property getCurrentContext in object [JavaPackage org.mozilla.javascript.Context]. It is not a function, it is "object". (<Unknown source>#1247) in <Unknown source> at line number 1247
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
String script = "Envjs code" + "jQuery code" + "my java script"; //code of envjs + jquery from the link provided at the end
engine.eval(script);
Invocable inv = (Invocable) engine;
inv.invokeFunction("myFunc", obj1, obj2);
내가 그렇게 객체의 같은 창을 필요로하지 않는 기능 브라우저를 사용하지 않는를 코드입니다 실행합니다. 이상적으로 나는 Envjs를로드하고 싶지 않습니다. jQuery 코드를로드하는 방법을 알려주십시오.
- 자바 코드에서 Java 코드에서 Json Object를 매개 변수로 전달하는 방법
http://www.envjs.com/dist/env.rhino.1.2.js
http://code.jquery.com/jquery-1.9.0.min.js