2014-06-25 16 views
1

我想以編程方式創建primefaces菜單組件,這裏是XHTML標籤:顯示器上的圖像時,點擊菜單

<p:menu model="#{notificationMenu.model}" /> 

,這裏是相關聯的彈簧組件:

@Component 
@Scope("session") 
@Qualifier("notificationMenu") 
public class NotificationMenu { 

    @Autowired 
    NotificationService notificationService; 

    private MenuModel model; 

    @PostConstruct 
    public void createMenuModel() { 

     List<Notification> listNotifs = notificationService.getAllUnreadNotifsForUser(LoginBean.getConnectedUser()); 

     model = new DefaultMenuModel(); 

     DefaultSubMenu subMenu = new DefaultSubMenu(); 

     for (Notification notification : listNotifs) { 

      DefaultMenuItem item = new DefaultMenuItem(); 
      item.setValue(notification.getTypenotification().getTypenotif()); 
      item.setUrl("/user/index.xhtml"); 

      subMenu.addElement(item); 
     } 

     model.addElement(subMenu); 
    } 

    public MenuModel getModel() { 
     return model; 
    } 
} 

我想要以編程方式將此菜單關聯到圖形圖像(如通知圖像),以便當用戶單擊圖像時顯示菜單...是否有可能?


編輯: 我要顯示圖像下方的菜單,消失模糊(圖像外點擊)。

回答

1

疊加菜單

動態菜單是通過設置overlay選項true並限定觸發,以顯示菜單 創建。頁面上的菜單的位置會相對於觸發和myat選項 稱取四個值的組合定義:

  • 離開
  • 底部
  • 頂部

這就是說:

<p:menu overlay="true" trigger="img" 
     my="left top" 
     at="bottom left" 
     model="#{notificationMenu.model}" /> 
<p:graphicImage id="img" /> 
+0

非常感謝。它工作得很好:) – Siho

+0

不客氣。 –