【问题标题】:Passing a variable between javascript and embedded java在 javascript 和嵌入式 java 之间传递变量
【发布时间】:2016-09-05 11:26:52
【问题描述】:

我正在运行 Web 服务并通过在脚本中嵌入 java 来调用方法:

    <script type="text/javascript">
        function getSS(){
<%-- start web service invocation --%>

var x = <%
try {
    org.me.testbilling.TestBillingWS_Service service = new
    org.me.testbilling.TestBillingWS_Service();
    org.me.testbilling.TestBillingWS port = service.getTestBillingWSPort();

    java.lang.String name = "Mike" ;

    java.lang.String result = port.getSS(name);
    out.println(result);
} catch (Exception ex) {
   out.println(ex);
}
%>
<%-- end web service invocation --%>

    alert(x);
        }
    </script>

问题是我想要这条线:

java.lang.String name = "Mike";

是动态的,以便它可以从用户输入的文本中提取变量,或者像这样的选择:

<select id="getName" onchange="getSS($('#getName').find(":selected").text())">
<option>Mike</option>
<option>John</option>
<option>Patty</option>
<option>Stephanie</option>
</select>

所以我需要的是一种更好的调用方式,或者一种将变量动态传递到该脚本的方式。有什么建议吗?

【问题讨论】:

  • 它只是不能那样工作。 Javascript 在客户端上运行,而 Java 代码在服务器上运行。即使它们在同一个文件中(这种风格很糟糕),它们也是彼此远离的网络连接。
  • 那么如何调用java代码并动态传递变量呢?
  • 您需要向服务器发出请求。我建议您阅读一些基本的 servlet 教程,停止在 JSP 中包含 Java 代码,并忘记尝试创建 web 服务。您缺少所有基础知识。
  • 我已经做了一个 servlet 教程。它似乎朝着我想要的相反方向发展。据我所知,它会编写 HTML 页面本身,但这不会让我将基于用户输入的变量传递给 java 代码(无需重新加载页面)。
  • 我正在使用这个教程:netbeans.org/kb/docs/websvc/jax-ws.html

标签: javascript java jquery ajax web-services


【解决方案1】:

JavaScript 在客户端机器上,但你的 java 在服务器上。

如果你想从客户端向服务器发送数据,你需要使用jQuery.ajax来发送。

查看此链接http://api.jquery.com/jquery.ajax/

【讨论】:

  • 在 SO 中不鼓励仅链接答案
猜你喜欢
  • 1970-01-01
  • 2013-07-23
  • 2011-12-03
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多