p:具有动态和非动态子菜单的菜单栏
Posted
技术标签:
【中文标题】p:具有动态和非动态子菜单的菜单栏【英文标题】:p:menubar with both dynamic and non-dynamic submenus 【发布时间】:2020-10-05 21:43:37 【问题描述】:我目前正在尝试创建一个p:menubar
,它有一个动态创建的子菜单,但所有其他子菜单通常应在 xhtml 中声明。遗憾的是,我找不到任何有关如何执行此操作的信息,因为您似乎总是必须创建一个 MenuModel
并将其用作完整 p:menubar
的模型。
仅使用两个单独的菜单栏时,可能会同时打开多个子菜单,这会导致它们重叠。那么间距也是错误的。
编辑:我不能使用 JSTL,所以用c:forEach
的解决方案是不可能的。
它必须是动态的,因为每次请求时都会从数据库中加载项目。
编辑 2:我可以使用 JSTL,但我仍然没有真正理解如何最好地实现这一点。我不想有一个菜单栏,其中一些子菜单是普通的静态子菜单,但是在代码中动态构建了一个子菜单(对于每个请求,ajax 都没有)。然而,这个动态子菜单有多个子子菜单,它们依次有自己的子菜单,所以理论上我必须以某种方式递归地遍历所有子菜单。
我正在使用 Primefaces 8.0 和 JSF 2.2
【问题讨论】:
嗨,一些 cmets:1:PF 版本丢失(添加 JSF 版本和 impl 也很好)。以及“动态”是如何动态的?那么它必须改变吗? 这能回答你的问题吗? Mixing static and dynamic menu entries in PrimeFaces menu components @Kukeltje 不,它没有,因为我不能使用 c:forEach。我目前这里没有代码,因此无法检查 PF 版本,我会在有问题时更新我的问题(可能不会在星期五之前) 您不能使用c:forEach
?仅当您还需要使用 ajax 更新菜单时。否则没有理由。这是一个非常基本的事情,应该添加到问题中。
非常感谢,我现在一定要阅读 JSTL。
【参考方案1】:
感谢Kukeltje 回答我的问题,我现在最终使用c:forEach
,就像在linked 帖子中一样。
【讨论】:
如果它是重复的,则无需创建答案,只需评论(或投票,如果可以的话)作为重复或支持重复的评论。干杯。以上是关于p:具有动态和非动态子菜单的菜单栏的主要内容,如果未能解决你的问题,请参考以下文章