从servlet调用JavaScript函数
我想使用jQuery从servlet调用JavaScript函数 这是我的JavaScript:从servlet调用JavaScript函数,java,javascript,jquery,servlets,Java,Javascript,Jquery,Servlets,我想使用jQuery从servlet调用JavaScript函数 这是我的JavaScript: function showerrodailog(){ ShowDialogBox('Alert','No record found.','Ok','', 'GoToAssetList',null); } function ShowDialogBox(title, content, btn1text, btn2text, functionText, parameterList) {
function showerrodailog(){
ShowDialogBox('Alert','No record found.','Ok','', 'GoToAssetList',null);
}
function ShowDialogBox(title, content, btn1text, btn2text, functionText, parameterList) {
var btn1css;
var btn2css;
if (btn1text == '') {
btn1css = "hidecss";
} else {
btn1css = "showcss";
}
if (btn2text == '') {
btn2css = "hidecss";
} else {
btn2css = "showcss";
}
$("#lblMessage").html(content);
$("#dialog").dialog({
resizable: false,
title: title,
modal: true,
width: '400px',
height: 'auto',
bgiframe: false,
hide: { effect: 'scale', duration: 400 },
buttons: [
{
text: btn1text,
"class": btn1css,
click: function () {
$("#dialog").dialog('close');
}
},
{
text: btn2text,
"class": btn2css,
click: function () {
$("#dialog").dialog('close');
}
}
]
});
}
我想从servlet调用这个函数。我怎么做呢?我在谷歌上找到了这段代码,但是,我打电话说错误$notdefined
我用这个弹出警告信息
/* ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine javascriptEngine = manager.getEngineByExtension("js");
// Get script from JS File
FileInputStream fileInputStream = new FileInputStream("F:\\workspace\\Userlogin\\WebContent\\js\\val.js");
if (fileInputStream != null) {
BufferedReader reader = new BufferedReader(new InputStreamReader(fileInputStream));
javascriptEngine.eval(reader);
Invocable invocableEngine = (Invocable)javascriptEngine;
// Invoke javascript function named "sayHello" with parameter "Atul"
Object object = invocableEngine.invokeFunction("sayHello", "Atul");
System.out.println("Result: " + object);*/
// }
您的尝试是错误的,原因如下: A.JQuery和其他JS库在客户端的DOM上工作, 您的Servlet在服务器端运行。 B.您的脚本不包括JQuery库
也许您的Servlet应该在其输出流中编写一个嵌入在其中的HTML+脚本作为对客户端的响应,该脚本包括JQuery内容并使用它?您希望JavaScript在哪里运行?servlet执行服务器端,JavaScript通常在浏览器中执行。您可以根据一些事件触发JavaScript在页面中加载,比如页面加载/文档准备就绪?既然您使用的是jQuery,请看一看:这里有一个奇怪的需求。为什么需要servlet执行和更新视图?