导航:首页 > 编程语言 > java调用js文件

java调用js文件

发布时间:2023-07-31 08:40:34

‘壹’ java怎样调用js

首先java和js是完全两码事
两个的运行是不相干的
java是后台程序 运行在服务器上 而js则是生存在客户端浏览器(如ie)
只能是js间接调用java
过程是:js在客户端浏览器上运行,然后js让浏览器发送请求到服务器,然后服务器上的中间件(如tomcat)来把浏览器的请求(httpRequest)转交给java程序来处理。 典型的例子就是用js执行submit()提交表单到服务器和js生成ajax对象然后通过ajax对象把信息发送给服务器。 即js借助浏览器来达到间接调用后台java程序的功能。
反过来就不行了
由于http协议是无状态的,不像java与数据库那样有保持着的连接,数据库是知道当前有谁再连接着自己的,而java程序所在的服务器是无法直接沟通客户端浏览器的,他压根就不知道客户端在哪,也因此无法去和运行在客户端的js联系。
你如果想调用这个EncodePwd(uin,psw), 只能是在客户端浏览器上触发这个方法(例如提交按钮)然后把信息发送到服务器端。
其实还有一种技术,即“服务器推送”,这个大概可以实现你的想法,这是个新兴技术,用于由服务器直接把数据发送给客户端,而不需要客户端不停的用ajax来访问服务器。但是我想这个应该不是你想要的东西。

‘贰’ JAVA代码中如何调用js

如果是jsp的话直接在out.print()中写就可以了,如果在applet和application中可以用外部调用的方式调用,Runtime rn=Runtime.getRuntime(); Process p=null; rn.exec("xx.js")但是这样不是很安全.

‘叁’ java调用 js

这里你需要搞清楚程序运行环境(context)的区别。对于class A的main方法,其运行环境是装载class A的虚拟机(运行在操作系统上);对于function a()其运行环境是请求那个Jsp页面的浏览器,所以从main方法中调用a()的说法无从谈起。

你能把你的直接需求(你为什么希望从main()中调用a())说明一下吗?这样能够更好地帮助你解决问题

‘肆’ java 调用 js函数

function是属于javascript里面的语法,而<%%>里面调用的是java的语法,所以想要用<%%>调用alert()是不行了,因为他们不是同一个东西。
不知道你的意思是不是页面一加载就进行调用alert(),如果是这样的话,建议使用onload事件,表示页面加载的时候调用alert();
或者如果是点击的时候调用,那么久调用onclick()..总而言之可以使用事件完成。

‘伍’ 如何用java执行指定页面中的js代码

要在java中执行js代码,首先明白,java不支持浏览器本身的方法。支持自定义的js方法,否则会报错

先新建一个js文件:jsss.js

内容如下:

function aa(a,b){ return a+b;
}

然后在java中写代码:

public class ZipTest {
public static void main(String[] args) throws Exception {

ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
String jsFileName="G:\javaPro\zmwmcc\WebRoot\jsss.js";
FileReader reader = new FileReader(jsFileName); // 执行指定脚本 engine.eval(reader);
if(engine instanceof Invocable) {
Invocable invoke = (Invocable)engine; // 调用merge方法,并传入两个参数
Double c = (Double)invoke.invokeFunction("aa", 2, 3); //调用了js的aa方法
System.out.println(c);
}
// engine.eval("alert("js alert");"); // 不能调用浏览器中定义的js函数 // 错误,会抛出alert引用不 }
}

‘陆’ 如何在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

阅读全文

与java调用js文件相关的资料

热点内容
长单夹a4文件夹 浏览:394
doc命令查看当前所有进程 浏览:721
Java语义相似度 浏览:469
资源管理器加密 浏览:740
压缩面膜价位 浏览:359
喋血复仇服务器连接失败怎么解决 浏览:677
androidedittextapi 浏览:550
dota塔命令 浏览:574
如何更改app后台 浏览:710
图形化编程有面试题吗 浏览:678
怎样将文件夹中的文件上移 浏览:917
如何在盒马app更换盒马门店 浏览:747
淘宝压缩图教程 浏览:237
谷歌浏览器安卓怎么用插件 浏览:78
商业源码网vipym 浏览:598
使用阿里云服务器怎么选操作系统 浏览:388
双付天下app下载哪里靠谱 浏览:245
pdf转化图片格式 浏览:762
如何向实体店推广app 浏览:647
g32斜进刀反螺纹编程 浏览:542