【问题标题】:How to call a JS function inside a JSP?如何在 JSP 中调用 JS 函数?
【发布时间】:2014-02-03 15:19:06
【问题描述】:

我正在尝试从 servlet 调用嵌入在 JSP 文件中的 JS 函数。我需要将一些参数传递给 JS 函数。我能做到吗?

【问题讨论】:

  • 这取决于你的意思。 JavaScript 代码在客户端而不是服务器上运行。您可以使用 JSP 来构造 JavaScript 代码,但在 JSP 完全完成并且浏览器接收并解释结果页面之前,代码不会运行。
  • 通常是服务器监听浏览器。看看en.wikipedia.org/wiki/Comet_(programming)

标签: java javascript jsp servlets


【解决方案1】:

是的。你有两个选择:

1) 使用 AJAX 调用所需的 Java 功能(主要在用户执行某些操作时使用):

$.ajax('/url/to/your/servlet', {data: 1, another-data: 2}, function() {
     // success callback
});

2) 在页面解析或加载时调用所需的 JavaScript 函数(准备在 JSP 页面中调用)。它不是从 JSP 直接调用 JavaScript 函数,您只需准备调用,并在客户端解析/加载页面时执行调用:

<script>
    // Alert is show when page is parsed
    alert(${data});
    $(document).ready(function() {
        // Alert is show when page is loaded (except of images and few other resources)
        alert(${data});           
    });
</script>

【讨论】:

  • 在这两种情况下,调用 javascript 的是 -browser-(换句话说,客户端),它不是从应用程序本身调用的。注意:只是添加我的想法,而不是对好的回复发表评论。
  • @Gimby 是的,你是对的。这是因为它是一个 JavaScript,而 JavaScript 在常见的 Web 应用程序中都是以这种方式使用的。如果KP。想要真正在服务器上调用 JavaScript 函数,他应该将 JavaScript 引擎库之类的东西包含到他的 Java 应用程序中。这真的是床的主意。
【解决方案2】:

您没有理由不能这样做。但请注意,JS 函数将在 client 端执行。例如

<input type="text" name="user" onclick="submitName(this)"/>

可以是 JSP 的一部分,并将在响应中呈现为 HTML 的一部分。单击文本字段时,将执行 submitName() JS 函数。

注意 - 这只是为了说明 JS 函数调用可以嵌入到 JSP 中,将事件绑定到 HTML 元素的更好方法是使用 JQuery 等框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-21
    • 2017-11-21
    相关资源
    最近更新 更多