It was moved to a new application server with Jsf 2.3 and PrimeFaces 5.2 and it still worked as expected.
When PrimeFaces was upgraded to 6.2 the application crashed with the following error:
Here is the cause:javax.faces.FacesException: MenuItem must be inside a form element
at org.primefaces.component.menu.BaseMenuRenderer.encodeMenuItem(BaseMenuRenderer.java:185)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeElements(TieredMenuRenderer.java:112)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeSubmenu(TieredMenuRenderer.java:174)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeElements(TieredMenuRenderer.java:131)
at org.primefaces.component.tieredmenu.TieredMenuRenderer.encodeMenu(TieredMenuRenderer.java:79)
Code: Select all
<p:menubar>
<p:submenu label="#{bundle.ReportisticaTransiti_label}" >
...
<p:menuitem rendered="#{facesContext.externalContext.isUserInRole('aSpecificRole')}">
<h:link outcome="aFlowStartNode" value="#{bundle.ConteggioTransitiVeicoli_label}" class="ui-menuitem-link ui-corner-all"/>
</p:menuitem>
Is it a bug or normal behavior ? Is there a way to make the previous menu work in 6.2 ?
That h:link is not easy to remove because it is the entry point for a flow...
Thanks
Filippo