java调用javascript 在线等!!!
发布网友
发布时间:2022-06-17 22:11
我来回答
共5个回答
热心网友
时间:2023-11-22 09:29
可参考:
package javaIjs;
/**
* @param args
*/
import java.io.FileReader;
import javax.script.Invocable;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
/**
* Java调用并执行js文件,传递参数,并活动返回值
*
* @author manjushri
*/
public class ScriptEngineTest {
public static void main(String[] args) throws Exception {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("javascript");
String jsFileName = System.getProperty("user.dir")+"/src/javaIjs/expression.js";
// 读取js文件
FileReader reader = new FileReader(jsFileName);
// 执行指定脚本
System.out.println(engine.getContext().getReader());
engine.eval(reader);
if (engine instanceof Invocable) {
Invocable invoke = (Invocable) engine;
// 调用merge方法,并传入两个参数
// c = merge(2, 3);
Double c = (Double) invoke.invokeFunction("merge1", 21, 3);
System.out.println("c = " + c);
}
reader.close();
}
}追问能说的清楚点吗?我是新手..不怎么懂啊
热心网友
时间:2023-11-22 09:29
用JAVA输出alert内容是吗? 为什么不用JSP? JSP也是JAVA输出啊
热心网友
时间:2023-11-22 09:30
对呀 用jsp不就行了。追问不是jsp,是一个。java的文件
热心网友
时间:2023-11-22 09:30
<%
String str= "";
try{
str = "1";
}catch(Exception e){
str ="2";
}
%>
<script>
alert('<%=str%>');
</script>追问这是jsp页面下插入JAVA语句把
热心网友
时间:2023-11-22 09:31
是在jsp页面上吗?
如果是的话直接加上就行啊。