簡體   English   中英

如何使用單個按鈕調用兩種不同的方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM