首页 > 编程知识 正文

java向js传递参数,js怎么传递参数

时间:2023-12-25 12:47:14 阅读:322334 作者:XUCO

本文目录一览:

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

方式有很多种。可以用sturts2框架。给页面返回值,然后用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

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。