2014-05-18 39 views
0

我有一个打开模式弹出的JQuery代码。我想从Servlet中的方法执行这个JQuery代码(函数)。从Servlet执行/调用JQuery(函数)

我要实现其中之一:

  1. 呼叫是在从Servlet的JSP页面中定义的方法的JQuery。
  2. 在Servlet的方法内执行JQuery代码。

这可能吗?我无法找到任何关于此的信息。

+0

你将如何处理模式弹出?你想让它显示在服务器上吗? –

回答

0

这是不可能的。

JQuery代码是JavaScript代码,它在浏览器中执行。

Servlet代码是java代码,它在服务器端执行。

+0

我不会那么说。 Javascript是一种完整的语言,可以在服务器端或客户端执行。 – Hirak

+0

@Hirak,你说得对,但在这种情况下,我们想执行一些JQuery代码。 JQuery通常操纵DOM,但在服务器端没有任何DOM。所以在Servlet容器中执行js代码并没有什么意义。 – Danix

-1

我不知道你为什么要这么做....但如果我理解正确的问题,这里是做这件事:

  1. 解析JSP在servlet获得的保持jQuery的JavaScript代码。将jQuery代码加载到字符串阅读器中。
  2. 使用嵌入式的ScriptEngine解析JavaScript函数.....代码如下:
ScriptEngineManager factory = new ScriptEngineManager(); 
ScriptEngine engine = factory.getEngineByName("JavaScript"); 
engine.eval("<jquery.js code in string form>"); 
Invocable inv = (Invocable) engine; 
inv.invokeFunction("someFUnction", param1, param2); 
  1. 关于模式弹出:如果函数返回的弹出窗口中的HTML代码,然后可以在你的servlet中捕获。 invokeFunction返回一个包含任何函数输出的Object。您需要根据需要处理对象。 但是,如果该函数,在行中绘制模式弹出(使用document.innerhtml),那么你不能得到弹出...恕我直言。
+0

嗯......模态弹出窗口怎么样? –

+0

我编辑了关于弹出框的帖子。 – Hirak