当前位置:首页 » 编程语言 » java传js

java传js

发布时间: 2022-04-18 05:22:14

㈠ 如何在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

㈡ js变量如何传递给java

js和java变量互传
在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:

1、java变量传给js写法如下:
var a="<%=javaParam%>";
注意这里要将引号""加上;

2、js变量给java稍微复杂点,一般是在表单中用一个
的隐藏表单元素,然后在脚本中将js变量值赋给它:

var jsParamValue='aaaa';
form1.jsParam.value=jsParamValue;

然后就可以request.getPrameter("jsPrama");
来取得js变量值了。

㈢ java数据传给js

是在web环境、还是java浏览器的环境呢
~~~~~~~~~~~~~

㈣ java数组传给js变量

一是取出来挨个传值
例如:var item1 = ${'arryas[1]'};
二是传回ajax传回json,、
例如:springmvc注解可以实现@responseBody

㈤ 怎么将后台java的一个参数传递给 前台js

可以通过前台js请求
后台
java
代码
,将
参数

返回值
的形式,返回给前台。这种方式用的最多的就是使用ajax了。通过在后台与
服务器
进行少量数据交换,ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

㈥ 怎么把一个java的bean传给js函数

js和java变量互传
在jsp中经常会遇到把js变量赋给java变量,或者将java变量赋给js变量的情况,在此将通用的处理方法小结如下:

1、java变量传给js写法如下:
var a="<%=javaParam%>";
注意这里要将引号""加上;

2、js变量给java稍微复杂点,一般是在表单中用一个
的隐藏表单元素,然后在脚本中将js变量值赋给它:

var jsParamValue='aaaa';
form1.jsParam.value=jsParamValue;

然后就可以request.getPrameter("jsPrama");
来取得js变量值了。

㈦ 把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;
}
是不是这样,没怎么看懂题

㈧ 如何将JSP中的java代码中的值,传入JS代码中去

js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。

java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:

<script>
var url="<%=url%>";
alert(username);
</script>
上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:

<script>
var url="gif8.cn";
alert(url);
</script>
这部分就是标准的js代码了。

㈨ 怎样将java中的数据传给js

方式有很多种。可以用sturts2框架。给页面返回值,然后用el表达式取。也可以用session传。也可以用out传拼接起来

㈩ 如何在WebView中通过Java传递给JS数组

1.整体思路:
js调用java
首先将js代码注入到webview的页面中,然后通过修改window.location.href来向java传递参数,java端通过监听页面url的改变来识别js端传递的参数.然后再经解析数据实现java方法的调用.
java调用js
java通过webView.loadUrl("JavaScript:"+jsCode);来实现js代码的调用
2. java调用js的实现
java调用js的方法,相当简单:
String jsCode = "(function(){ /*js code here*/ })()";
webview.loadUrl("javascript:" + jsCode);

注意:要把js代码用自执行函数包裹起来
利用这种方法可以把任意代码注入到页面中
注意: 当页面刚加载时就需要把 2.1中的js代码注入到页面中,但是有时会出现页面加载完成,但是注入的代码没有执行的现象,应该是因为js没有及时加载而页面先加载完成。要解决这个问题就需要在页面加载完成时触发一个事件比如jsBridgeReady,js端通过监听jsBridgeReady事件来调用java方法。那么总体流程如下:
加载页面->注入js代码->页面加载完成->触发js注入完成事件
代码:
在BridgeWebClient中添加逻辑: 1,加载页面时注入js代码: 2,加载完成后触发加载完成事件
@Override
public void onLoadResource(WebView view, String url) {
// 注入桥接代码
// 这里通过读取js文件获得js代码
if (mFileName != null) {
view.loadUrl(mBridge.createBaseJs(mContext, mFileName));
}
super.onLoadResource(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
// 触发注入完成事件,用于解决 注入的代码没有及时加载成功导致无法调用的问题
view.loadUrl("(function(){if(window.UAPPJSBridgeReady){window.UAPPJSBridgeReady();}})()");
}

如果你也想从文件读取js代码,记得把读取的代码压缩一下,把注释和换行删除,不然很可能会报错
js端调用java注入的代码:
//判断代码是否注入完成
if(window.UAPPJSBridge){
//调用注入的方法
window.UAPPJSBridge.wxshare(message,success,error);
}else{
//监听注入完成的事件
window.onBridgeLoaded=function(){
if(window.UAPPJSBridge){
window.UAPPJSBridge.wxshare(message,success,error);
}
}
}

热点内容
佳能相机存储卡怎么取消 发布:2025-01-22 18:40:59 浏览:568
天猫宝贝上传 发布:2025-01-22 18:35:09 浏览:544
ipad如何登录金铲铲安卓账号 发布:2025-01-22 18:32:09 浏览:319
加密沟通 发布:2025-01-22 18:31:22 浏览:555
win7ftp用户名和密码设置 发布:2025-01-22 17:46:48 浏览:221
三表联查的sql语句 发布:2025-01-22 17:27:13 浏览:418
安卓怎么解压分卷压缩 发布:2025-01-22 17:24:59 浏览:721
欧姆龙plc编程语言 发布:2025-01-22 17:21:48 浏览:396
和值编程 发布:2025-01-22 17:20:07 浏览:518
微信青少年模式独立密码是什么 发布:2025-01-22 16:52:06 浏览:590