java怎样调用js
答案:3 悬赏:0 手机版
解决时间 2021-01-25 21:29
- 提问者网友:遮云壑
- 2021-01-25 12:39
我想用java调用一个名为1.js脚本中的一个函数函数调用为EncodePwd(uin,psw)返回一个String变量。我应该如何调用这个js?
最佳答案
- 五星知识达人网友:狂恋
- 2021-01-25 13:46
// java调用js脚本的例子
ScriptEngineManager scriptEngineMgr = new ScriptEngineManager();
ScriptEngine jsEngine = scriptEngineMgr.getEngineByName("JavaScript");
StringBuffer sb = new StringBuffer();
// 组装js代码,也可以从文件读入脚本到sb变量
jsEngine.put("myContext", myContext);// 放置其他参数
jsEngine.eval(sb.toString());// 解析、执行脚本
ScriptEngineManager scriptEngineMgr = new ScriptEngineManager();
ScriptEngine jsEngine = scriptEngineMgr.getEngineByName("JavaScript");
StringBuffer sb = new StringBuffer();
// 组装js代码,也可以从文件读入脚本到sb变量
jsEngine.put("myContext", myContext);// 放置其他参数
jsEngine.eval(sb.toString());// 解析、执行脚本
全部回答
- 1楼网友:底特律间谍
- 2021-01-25 16:09
如果你是在jsp页面里,在js代码里可以用<% ...java代码....%>
不过不建议混编,最好js和java代码分开,js可以通过ajax调用访问java提供的接口,利于后期维护。
题主的问题回答:
方法1.提供一个servlet ,在servlet中调用getallemployees()
方法,把响应的值写入response,修改响应头为application/json,在页面使用ajax访问servlet,最后处理响应值
方法2..提供一个servlet ,在servlet中调用getallemployees()
方法,把响应的值存入request作用域,在jsp页面中使用el表达式获取值
- 2楼网友:深街酒徒
- 2021-01-25 14:39
首先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来访问服务器。但是我想这个应该不是你想要的东西。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯