我应该从Java调用javascript函数。

我使用了ScriptManager:

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval(new java.io.FileReader("js/myjsfile.js"));
Invocable inv = (Invocable) engine;
Boolean val=(Boolean)inv.invokeFunction("check", value);


我获得了一个java.io.FileNotFoundException。

我的项目使用tomcat目录结构:

-java src
-WebContent
 index.jsp
 ->js-> myjsfile.js
 ->jsp
 ->WEB-INF
 ->META-INF


如何从Java文件访问js / myjsfile.js?

编辑
我解决了

 String path = request.getServletContext().getRealPath("/js/myjsfile.js");

最佳答案

您可以使用绝对路径来读取js文件,并且可以从System属性中获取“ catalina.home”的绝对路径。

关于java - 在具有tomcat目录结构的项目中从Java访问js文件(java.io.FileNotFoundException),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18610130/

10-17 03:00