1

当我单击 jsp 文件中的按钮时,我想触发一个函数。我写了这段代码:

    <%!public void PrintOut(){
System.out.println("okk");
} %>
      <body>
 <button onclick="PrintOut()"> print OK</button>
  </body>

但它不起作用。当我使用

 `<script>
function myFunction(){<%
System.out.println("OKK");%>}
</script>`

它在我点击按钮之前执行。

4

1 回答 1

11

下面是 JSP 的工作原理:

  • 请求从巴黎的浏览器发送到旧金山服务器上的 JSP
  • 服务器执行 JSP。JSP 生成 HTML,可能包含 JavaScript 代码,并在 HTTP 响应中将此 HTML 发送到浏览器
  • 巴黎的浏览器显示页面
  • 一段时间后,该按钮被单击。JavaScript 代码在巴黎的浏览器中执行。位于旧金山的服务器不知道巴黎的浏览器中发生了什么。它甚至可以被阻止。

这个小故事向您解释 JavaScript 和 Java 是两种不同的语言,并且 Java 代码是在服务器上执行的,远在 JavaScript 代码在浏览器上执行之前。你在做什么完全没有意义。如果您希望在巴黎的浏览器中单击按钮时在旧金山的服务器上发生某些事情,那么您必须向服务器发送 HTTP 请求(通过提交表单或使用 AJAX)。

于 2013-08-20T08:29:26.613 回答