2013-08-20 182 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)。