Primefaces 未考虑子菜单上的展开属性

Primefaces 未考虑子菜单上的展开属性,primefaces,submenu,Primefaces,Submenu,我有一个panelMenu,里面有一些子菜单,它的扩展属性由支持bean控制。问题是,不同子菜单的展开状态似乎由浏览器缓存,这取决于用户上次访问该url时每个子菜单的先前状态,忽略设置为展开的布尔状态。p:panelMenu和p:menu的行为相同 您可以在PF项目上重现该问题,将以下代码添加到jsf页面。不需要支持bean。第一次加载页面时,中间的子菜单将显示为折叠。如果重新加载页面,则在对菜单播放一段时间后,将不再考虑扩展属性,页面的显示方式将响应用户在浏览器上的最后一次配置 <h:f

我有一个panelMenu,里面有一些子菜单,它的扩展属性由支持bean控制。问题是,不同子菜单的展开状态似乎由浏览器缓存,这取决于用户上次访问该url时每个子菜单的先前状态,忽略设置为展开的布尔状态。p:panelMenu和p:menu的行为相同

您可以在PF项目上重现该问题,将以下代码添加到jsf页面。不需要支持bean。第一次加载页面时,中间的子菜单将显示为折叠。如果重新加载页面,则在对菜单播放一段时间后,将不再考虑扩展属性,页面的显示方式将响应用户在浏览器上的最后一次配置

<h:form>
    <p:panelMenu toggleable="true">
        <p:submenu label="No expandido" expanded="false">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
        <p:submenu label="Expandido" expanded="true">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
        <p:submenu label="No expandido" expanded="false">
            <p:menuitem value="External" url="http://www.primefaces.org"/>
        </p:submenu>
    </p:panelMenu>
</h:form>
。。。根据Cagatay在PF论坛上的一篇帖子,panelMenu已经准备好使用扩展属性

问题是,有没有一种方法可以设置panelMenu或menu中子菜单元素的展开/未展开状态

感谢您的评论/建议/解决方法


Primefaces 5.2 | Tomcat 7.0.X | Chrome+IE11

您是否尝试设置panelMenu的有状态属性:

<p:panelMenu stateful="false">


这将禁用菜单缓存到cookie。

我也有类似问题,原因是在
f:metadata
中有多个
f:viewAction
。将它们合并为一个,解决了问题。

请尝试在此处查看-
<p:panelMenu stateful="false">