本文目录一览:
- java函数返回值 赋给js参数
- 数据怎样在java 和javascript之间传输? 比如java如何得到javascript的变量对象值
- 怎样将java中的数据传给js
- 把java的值传给js
- 怎么将后台java的一个参数传递给 前台js
- 如何在java中调用js方法
java函数返回值 赋给js参数
js 文件里 就只能用 ajax 了 当页加载完成之后 发送 ajax 请求到后台,然后接受后台返回来的值,在页面写个js 方法调用 js文件里的js把值 传进去
数据怎样在java 和javascript之间传输? 比如java如何得到javascript的变量对象值
理论上java获得所有请求都是通过servlet,但是现在很多框架进行了封装,建议使用框架,可以轻松的实现,比如DWR就可以用js在页面调用java代码,还能传递参数,获得返回值,原理就是它对ajax异步请求做了相应的封装。
js获得java的代码可以直接用<%= %>
这种方式获取。
DWR原理介绍:
dwr框架是服务器端的ajax框架,那么最基础的还是XMLHttpRequest,我们在服务器端的dwr.xml文件中配置好后,dwr框架会把根据配置内容生成相应的js文件,在这个js文件里,它提供了访问服务器端的请求。可以想象,这js文件中有使用XMLHttpRequest请求服务器。其可以使用这样一种方式来处理:使用XMLHttpRequest去访问一个jsp文件,在这个jsp文件中,会使用<%java语句%>
来访问在dwr.xml文件定义要访问的方法。并且将返回结果格式化为xml形式发送回给客户端。在客户端,我们使用XMLHttpRequest的reponseXML去接收这个xml(当然是在XMLHttpRequest的onreadystatechange事件指定的方法中接受),然后使用XML DOM对象来解析这个xml文件,生成一个对象或数组。然后,把生成的对象或数组传给要处理的回调函数,使用HTML DOM显示页面动态效果。
怎样将java中的数据传给js
方式有很多种。可以用struts2框架,给页面返回值,然后用el表达式取。也可以用session传。也可以用out传拼接起来。
把java的值传给js
在java文件中:
int aa = 1;
request.setAttribute("aa", aa);
jsp文件中: 用一个隐藏域接受一下值:
<input type="hidden" name="aa" id="aa" value="${aa}" />
js中:
var aa = document.getElementById("aa").value;
if (aa == 1) {
document.getElementById('text1').style.display = 'none';
}
是不是这样,没怎么看懂题。
怎么将后台java的一个参数传递给前台js
可以通过前台js请求后台java代码,将参数以返回值的形式,返回给前台。这种方式用的最多的就是使用ajax了。通过在后台与服务器进行少量数据交换,ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
如何在java中调用js方法
在Java中调用js文件中的function,传入调用参数,并获取返回值。 js文件中的merge函数将两个参数a,b相加,并返回c。
// expression.js
function merge(a, b) {
c = a * b;
return c;
}
在Java代码中读取js文件,并参数两个参数,然后获取返回值。
package com.sinaapp.manjushri;
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 = "expression.js"; // 读取js文件
FileReader reader = new FileReader(jsFileName); // 执行指定脚本
engine.eval(reader);
if (engine instanceof Invocable) {
Invocable invoke = (Invocable) engine; // 调用merge方法,并传入两个参数
// c = merge(2, 3);
Double c = (Double) invoke.invokeFunction("merge", 2, 3);
System.out.println("c = " + c);
}
reader.close();
}
}
输出结果:
c = 5.0