2009-02-05 29 views
4

正如標題所說,當某個元素被點擊(例如錨點)時,如何從jsp調用java類方法? (無需重新加載頁面)如何在單擊html元素時從jsp調用java方法?

如果可以這樣做,我如何傳遞該方法,調用它的頁面的一部分html代碼?

我使用jsp,servlets,javascript,struts2和java,通過Jboss AS。

回答

3

你想要做的就是讓JavaScript在單擊該元素時觸發AJAX請求。這個AJAX請求將發送到服務器,然後服務器可以調用你想要的任何java代碼。

現在您可以自己構建這一切,或者您可以使用衆多現成的解決方案之一。我會推薦使用Google Ajog標籤庫。像這樣的一個http://ajaxtags.sourceforge.net/

0

您不能在客戶端瀏覽器中執行服務器端Java代碼。

你可以做的是執行新的http請求,它將在服務器上執行一些操作並返回操作結果。

鑑於更好的問題,請閱讀一些JSP教程。沒有論壇帖子的答案會更好地解釋它。

+0

我不想在客戶端執行java代碼。我想要的是在jsp上單擊元素時執行java函數(在服務器端)。我可能是新手,因爲你標記了我的問題,但如果我已經知道答案,那麼我就不會在這裏發帖。你的答案沒有幫助。 – 2009-02-05 15:17:11

2

由於Marko pointed out,您可能需要閱讀更多關於網絡編程中客戶端/服務器分離的內容。如果你想要一個框架來幫助你從Javascript執行遠程Java調用,請看DWR

1

您可以使用Ajax調用來做到這一點。 現在當點擊HTML對象時調用一個java腳本。然後在JavaScript進行Ajax調用這個servlet像這樣

$.get("Query?ID="+id ,function(RespValue) 
     { 


} 

這裏在web.xml中定義查詢我的servlet映射ID是我傳遞您可以發送多個參數過多的參數。 RespValue是從servlet返回的響應值。 在servelt中寫一個Get方法並執行你的java代碼。如果你想返回一些值使用函數(RespValue),否則刪除它。

相關問題