選擇多行
<h:dataTable>
來列出數據庫中的數據。我們在頁面中有很多記錄,現在我想用每行中的複選框選擇多個記錄。我怎樣才能做到這一點?
2
A
回答
5
我假設你的實體是精心設計的,它具有唯一的技術標識符,例如數據庫中的自動增量序列。
public class Entity {
private Long id;
// ...
}
如果不是,則需要添加它。
然後,將Map<Long, Boolean>
屬性添加到綁定到該表的Bean。
private Map<Long, Boolean> checked = new HashMap<Long, Boolean>();
(preinitialization也有可能發生在(後)構造函數,隨你挑,至少JSF你不會做它,哦,給它一個getter和,二傳手是沒有必要的)
然後,添加一個帶有複選框的列,該複選框通過實體ID作爲關鍵字映射到布爾值。現在
<h:dataTable value="#{bean.entities}" var="entity">
<h:column>
<h:selectBooleanCheckbox value="#{bean.checked[entity.id]}" />
</h:column>
...
</h:dataTable>
<h:commandButton value="Delete" action="#{bean.delete}" />
,與刪除按鈕相關的操作方法,你可以收集並刪除選中的項目如下:
public void delete() {
List<Entity> entitiesToDelete = new ArrayList<Entity>();
for (Entity entity : entities) {
if (checked.get(entity.getId())) {
entitiesToDelete.add(entity);
}
}
entityService.delete(entitiesToDelete);
checked.clear();
loadEntities();
}
+0
我明白了, 非常感謝您的回答 ! – xuanhung2401
+0
我有完全相同的代碼,但我在這一行得到一個NullPointerException'if(checked.get(entity.getId())){' – unleashed
相關問題
- 1. 如何使用的cout << MyClass的
- 2. Perl如何使用<<參數
- 3. 如何使用<p:fileUpload>
- 4. 如何使用< - Operator
- 5. 如何使用<c:if>
- 6. 如何使用FUNC <>
- 7. 如何使用<system_error>
- 8. 如何使用(<,>)
- 9. 如何使用XPATH保持<p><img ... /></p>?
- 10. 如何使用<<<操作符讀取整行?
- 11. 如何在<<< END中使用foreach,PHP
- 12. 什麼是和如何使用'<<< END_JAVASCRIPT'字符串?
- 13. 如何在PHP中使用該「<<< HTML」的東西?
- 14. 如何使用Swift中的UnsafeMutablePointer <UnsafeMutablePointer <Void>>引用?
- 15. 如何使用operator <<用於使用<<將文件對象提供給我的類?
- 16. 我如何使用<option></option><sup></sup>在HTML中
- 17. 如何使用Eigen 3表示「<真或假> = <array><= <scalar>」?
- 18. 如何用<![CDATA [?
- 19. 使用<< END
- 20. 如何使用環境<filter>域
- 21. 如何使用ItemsControl分配<DataGrid.Columns>?
- 22. Qt C++如何使用QList < > :: const_iterator?
- 23. 如何使用AIML <oob>標記
- 24. 如何使用DOM生成<form>?
- 25. 如何在asp.net中使用<% %>?
- 26. 如何使用attr < - 與lapply?
- 27. 如何使用<c:url>標籤
- 28. 如何使用「<%= request.getContextPath()%>」優於「../」
- 29. 你好如何使用ExportFactory <T>
- 30. 如何使用單<post-type> .PHP
的可能的複製[如何使用JSF的H:selectBooleanCheckbox與H: dataTable創建一個對象每行?](http://stackoverflow.com/questions/2524514/how-to-use-jsfs-hselectbooleancheckbox-with-hdatatable-to-create-one-object-p) – BalusC