2013-08-20 106 views
1

我想在jsp文件中点击按钮时触发一个函数。 我写这个代码:onClick jsp按钮功能

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

但它不起作用。 当我使用

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

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

回答

11

这里的JSP是如何工作的:

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

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