用戶將選擇要從列表中刪除的項目。無法發送項目列表以將其從列表中刪除
我有兩個選擇,要麼傳遞所選項目的ID或其對象的地址在內存中。
第一個問題是,發送選定項目的對象而不是它們的ID是否是正確的方法?
<input type="checkbox" name="selectedItems" value="${item}"/>
rather than
<input type="checkbox" name="selectedItems" value="${item.id}"/>
如果我要送物品的ID,當我通過自己的ID,創建一個對象,並設置我無法從列表中,什麼最好的辦法刪除它們的ID?
Item item = new Item();
item.setID(selectedItems.get(0));
Basket basket = (Basket) session.get(Basket.class, Long.parseLong(basket_id));
basket.getItems.remove(item); <<I cant remove them by just setting their ids!!
session.update(basket);
謝謝,實體已經存在於數據庫中,我需要刪除那些用戶選擇的。這是否意味着如果選擇了10個不同的項目,我必須檢索所有這些項目的字段,然後在所有項目上執行相同的方法? – J888
您不必從數據庫中檢索它們。你需要用用戶提交的數據創建10個項目,設置'equals'所需的屬性並將它們傳遞給'basket.getItems.remove(item);'從'list'中移除。現在你可以用'session'更新'basket'。更新(籃法);'。 –
通過從數據庫中獲取它們我的意思是所有的籃子項目,session.get(Basket.class,12),我應該傳遞對象還是僅僅傳遞ID? id可以用來比較,因爲它與我在db中的相同,所以爲什麼我應該接收所有的數據?這是否意味着我應該使用該對象? (第一種方法?)_ – J888