扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1.通过AJAX用JS访问JAVA中的某个方法,然后在JAVA代码中将JS代码放到response的输出流中,然后eval()返回的JS代码。
创新互联建站主营安顺网站建设的网络公司,主营网站建设方案,APP应用开发,安顺h5小程序定制开发搭建,安顺网站营销推广欢迎安顺等地区企业咨询
2.JSP中可以嵌入java代码块,比如在jsp页面中写如下代码:
script
%if(a==1){%
alert("abc");
%}%
/script
这样页面在加载的时候就会先执行JAVA代码,如果a==1了 alert("abc")这句JS代码才会有。
希望满足你的要求
js代码如下:
[javascript] view plain copy
function formula(var1,var2){
return var1+var2-factor;
}
java代码如下:
[java] view plain copy
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.util.Scanner;
import javax.script.Bindings;
import javax.script.Invocable;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class AboutJavaScript {
public static void main(String[] args) throws Exception {
ScriptEngine engine=new ScriptEngineManager().getEngineByName("javascript");
Bindings bind = engine.createBindings();
bind.put("factor", 1);
engine.setBindings(bind, ScriptContext.ENGINE_SCOPE);
Scanner input=new Scanner(System.in);
while (input.hasNextInt()) {
int first= input.nextInt();
int sec=input.nextInt();
System.out.println("输入参数是:"+first+","+sec);
engine.eval(new FileReader("F:/model.js"));
if(engine instanceof Invocable){
Invocable in =(Invocable) engine;
Double result=(Double) in.invokeFunction("formula", first,sec);
System.out.println("运行结果:"+result.intValue());
}
}
}
}
js是前台页面应用技术,java是后台应用技术,js后台是用不上的,如果需要,可以jsp在前台混插使用。
Java是不可以插入js的,但是可以输出js,一般有以下两种方法:
1.通过request跳转的方式,在中间弹出js代码。
2.可以通过out.print()打印的方式把整个页面打印出来,这中间虽然是Java中输出,但是也是输出的页面。
大体这么多,也可能有我不知道的方法,如果觉的可以,给分,谢谢。
js是在前端运行的(浏览器),java是后台运行的(服务器)。不存在在js中嵌入java语句,楼上的回复应该说是在java中嵌入js内容,因为服务器会把jsp中的java代码块先执行了,生成和其他html或js的代码组合后的内容再发送给浏览器解析。所以应该理解为在java(jsp也可以理解为特殊的java类)中嵌入js代码。或者你可以去了解下ajax或许可以给你新的启发
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流