从servlet调用JavaScript函数

时间:2015-06-22 05:08:00

标签: 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) {

            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);*/

                // }

1 个答案:

答案 0 :(得分:0)

由于以下原因,您的尝试是错误的:
A. JQuery和其他JS库可以在客户端使用DOM, 您的Servlet在服务器端运行。
B.您的脚本不包含JQuery库。

也许您的Servlet应该在其输出流上写入作为对客户端的响应,并在其中嵌入HTML +脚本,并且此脚本包含JQuery内容并使用它?