嘿我新使用jsf,所以我想建立一個動態菜單,從數據庫加載的項目,但我不知道我需要什麼功能或如何構建菜單的支持豆。我已經有數據庫創建和三個表,用戶,Rol x用戶,項目。還有什麼將是物品表的良好屬性?如何建立一個動態菜單
2
A
回答
3
每個Rol
應該有Items
,所以你需要一個額外的表ItemsXRol
我會選擇這列Item
: id, label, url, tooltip, father_item, level
類似的東西,當然你應該選擇你的列以滿足你的需求。
然後,使用Primefaces可以使用MenuModel
對象來創建菜單,從db動態獲取項目。
//MenuBean
model = new DefaultMenuModel();
//First submenu
DefaultSubMenu firstSubmenu = new DefaultSubMenu("Dynamic Submenu");
DefaultMenuItem item = new DefaultMenuItem("External");
item.setUrl("http://www.primefaces.org");
item.setIcon("ui-icon-home");
firstSubmenu.addElement(item);
model.addElement(firstSubmenu);
//Second submenu
...
而在.xhtml文件你把這樣的事情:
<p:menu model="#{menuBean.model}"/>
但產生的菜單,從數據庫中獲取的值,可以使用DAO從您的實體獲得的MenuItems。
如果你的菜單有一個n級格式,它可能成爲方便的生成,你必須遍歷您Items
遞歸創建第一級菜單,然後每一個父親的孩子的的MenuModel
遞歸方法。
如果您想了解更多關於MenuModel
去https://www.primefaces.org/showcase/ui/menu/menu.xhtml
1
Primefaces爲您提供了一種使用org.primefaces.model.menu.*
類來動態構建菜單的程序化方法。在託管bean中使用MenuModel
,並在facelet頁面上引用它。例如:
public class MenuBean {
private MenuModel model;
public MenuBean() {
// Build your menu here
}
// Gets and sets
}
並在您的facelet:
<p:menu model="#{menuBean.model}"/>
相關問題
- 1. 如何從json動態建立菜單?
- 2. 如何建立一個多級菜單
- 3. 建立一個菜單笨
- 4. 動態地從MySQL表建立一個jQuery導航菜單
- 5. 如何建立一個表動態
- 6. 如何動態地建立一個gui
- 7. 如何建立一個滑動菜單中的jQuery
- 8. 創建一個動態菜單
- 9. 在Wordpress菜單中的菜單中建立一個子菜單
- 10. 建立一個TreeView動態
- 11. 如何建立一個動態的HTML表單遠程CSV
- 12. 如何在Symfony中創建一個動態菜單
- 13. 如何創建一個滾動或靜態工具欄菜單
- 14. 如何創建一個動態樹菜單EXT-GWT(GXT)
- 15. Simplenavigation - 如何創建動態菜單項?
- 16. 如何創建動態導航菜單?
- 17. 如何動態創建WordPress菜單?
- 18. 如何創建Picnik的動態菜單?
- 19. Codeigniter如何動態創建菜單
- 20. 推動,建立一個動態查詢?
- 21. 建立一個透明的WPF菜單和子菜單
- 22. 建立一個像WordPress的菜單'管理菜單
- 23. 如何建立LINQ動態
- 24. Drupal:如何建立一個分類菜單樹
- 25. 如何建立在Android的菜單
- 26. 動態構建菜單
- 27. codeigniter動態菜單創建
- 28. 動態菜單創建IoC
- 29. 建立一個動態的$ _POST語句
- 30. 建立一個查詢參數動態
以及如何設置** **行動的insted的URL的?我有這樣的菜單:'
'其中consultas是頁面的名稱。 –我想你可以添加它而不是像'item.setCommand(「#{menuView.save}」);''Looh在這裏獲取更多信息:http://primefaces.org/showcase/ui/menu/ menu.xhtml – jltorresm
是的,它是如何完成的:) –