[quote]
我在Java中调用JavaScript代码时,老报异常。比如我在JavaScript代码中写了alert()函数时,就会报异常。我感觉Java只能条用JavaScript中的又返回值的函数,而且不能有document.write()等代码。
不知道我们的浏览器是怎么实现对JavaScript调用的。能不能有什么方法得到JavaScript执行后的值。因为在很多网页都是使用了JavaScript的来动态显示信息。
[/quote]
[code="java"]
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
public class Test2 {
public static void main(String[] args) throws Exception{
test();
}
public static void test() throws Exception{
ScriptEngineManager sem=new ScriptEngineManager();
ScriptEngine se=sem.getEngineByExtension("js");
se.eval("<script language='javascript'> document.write('aaaa')</script>");
}
}
异常提示:
Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EvaluatorException: syntax error (#1) in at line number 1
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:110)
at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:124)
at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:247)
at test.script.Test2.test(Test2.java:15)
at test.script.Test2.main(Test2.java:9)
[/code]