2015-06-22 5 views
-2

Я хочу вызвать функцию JavaScript из сервлета с помощью jQuery.Вызов функции 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'); 
            } 
           } 
          ] 
      }); 
     } 

Я хочу, чтобы вызвать эту функцию из сервлета. Как я могу это сделать из Google и найти этот код, однако, я назвал, что он говорит, что ошибка $ не определена.

Я использовал это для всплывающего предупреждающего сообщения.

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

Где вы собираетесь использовать JavaScript? Сервлеты выполняют серверы, а JavaScript (обычно) выполняется в вашем браузере. Вы можете запустить свой JavaScript для загрузки на своей странице на основе какого-либо события, например, загрузки страницы/документа? Поскольку вы используете jQuery, посмотрите: https://learn.jquery.com/using-jquery-core/document-ready/ –

+1

У вас здесь странное требование. Зачем вам нужен сервлет, который выполняет и обновляет представление? –

ответ

0

Ваша попытка неправильно, в силу следующих причин:
А. JQuery и другие библиотеки JS работать на DOM, что вы на стороне клиента, сервлет работает на стороне сервера.
B. В вашем скрипте не включена библиотека JQuery.

Возможно, ваш сервлет должен записать в свой выходной поток в качестве ответа клиенту встроенный в него HTML + Script, и этот скрипт включает в себя материал JQuery и использует его?

Смежные вопросы