[英]How to call two different methods using single button?
在我的Web應用程序中,我有一個數據表(使用PreparedStatement從數據庫顯示)。 每行都有一個編輯按鈕。 表格位於桌子下方。 如果我單擊“編輯”按鈕,則該行中的數據將被填寫到表單中。 因此,我可以編輯並保存它。
或者,我可以在表單中輸入新數據並添加新行。 問題是“保存”按鈕。 更新和插入需要不同的查詢。
所以,我想調用兩種不同的方法。 關於這個問題的任何想法。
其他信息:該網頁是使用HTML和Java腳本構建的。 后端使用Java連接數據庫並獲取數據。
謝謝。
您可以在隱藏字段中添加已編輯元素的ID。 如果未提供ID,則為新對象;如果提供ID,則為編輯操作。 顯然,為防止間諜活動,您應將真實ID替換為哈希ID。
您所需要的只是一個隱藏的輸入字段,該字段最初在單擊“編輯”按鈕后設置為不同的值。 然后,您可以檢查該字段的值,並在保存操作中執行INSERT或UPDATE。
你在使用任何JavaScript庫嗎? 如果使用的是JQuery,則可以輕松地將事件綁定和取消綁定到按鈕。 它還具有數據的概念,可用於將任何元數據附加到按鈕之類的控件。 將元數據用於按鈕的模式(編輯/保存),而不要使用隱藏字段。
示例代碼:(在頁面加載期間可能是一個編輯)
$("mybutton").data("mode", "edit"); //data is a dictionary for key/values
$("mybutton").click(EditFunction);
您應該考慮使用javax.persistence.*
和適當的數據庫操作框架。
如果要堅持使用純SQL,則應該在表行中包含某種狀態信息。 它是否已經分配了主鍵? 該密鑰由數據庫生成嗎? 數據庫中已不存在該行,並且您的方法可以生成UPDATE
語句。 如果尚未分配密鑰,請使用INSERT
。
另一個好主意是使用用於顯示數據的簡單Java Bean封裝查詢結果。 這些簡單的對象使您可以存儲和處理其他數據和信息-在生成正確的SQL語句時可以很方便地使用它們。
或者,我可以在表單中輸入新數據並添加新行。 問題是“保存”按鈕。 更新和插入需要不同的查詢。
是否可以對插入和更新使用相同的查詢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.