我想使用jQuery从servlet调用JavaScript函数。
这是我的JavaScript:
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调用此函数。我怎么能这样做,我尝试从谷歌找到这个代码,但是,我打电话说它错误$未定义。
我将此用于弹出警报消息。
/* 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);*/
// }
答案 0 :(得分:0)
由于以下原因,您的尝试是错误的:
A. JQuery和其他JS库可以在客户端使用DOM,
您的Servlet在服务器端运行。
B.您的脚本不包含JQuery库。
也许您的Servlet应该在其输出流上写入作为对客户端的响应,并在其中嵌入HTML +脚本,并且此脚本包含JQuery内容并使用它?