我想以编程方式创建一个primefaces菜单组件,这里是xhtml标签:
<p:menu model="#{notificationMenu.model}" />
这里是关联的spring组件:
@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;
}
}
我想以编程方式将此菜单与图形图像(如通知图像)相关联,这样当用户点击图像时,会显示菜单......是否可以?
编辑: 我希望菜单在>> 图像下显示在模糊上消失(在图像外部点击)。
答案 0 :(得分:1)
叠加菜单
通过将overlay
选项设置为true
并定义触发器来显示动态菜单
菜单。页面上菜单的位置将相对于触发器,并由my
和at
选项定义
结合四个值:
那说:
<p:menu overlay="true" trigger="img"
my="left top"
at="bottom left"
model="#{notificationMenu.model}" />
<p:graphicImage id="img" />