可能我在这里遗漏了一些东西。
我有一个带有菜单的模板,带有 JSF 页面的选项传递参数:
<rich:menuItem label="Todos" action="#{mainMenuCtrl.listTickets}">
<f:param name="baseLocation" value=""/>
<f:param name="ticketStatus" value="Solicitado"/>
</rich:menuItem>
<rich:menuItem label="H. General" action="#{mainMenuCtrl.listTickets}">
<f:param name="baseLocation" value="HGN"/>
<f:param name="ticketStatus" value="Solicitado"/>
</rich:menuItem>
控制器只是重定向到页面:
public String listTickets() {
return "ticketsList.xhtml?faces-redirect=true&includeViewParams=true";
}
ticketList.xhtml 有以下metadata
部分:
<f:metadata>
<f:viewParam name="baseLocation" value="#{ticketsListCtrl.baseLocation}" converter="es.caib.gesma.gesman.data.converter.LocationConverterByShortCode"/>
<f:viewParam name="ticketStatus" value="#{ticketsListCtrl.ticketStatus}" converter="es.caib.gesma.gesman.data.converter.TicketStatusConverter"/>
<f:event type="preRenderView" listener="#{ticketsListCtrl.retrieveTickets()}" />
</f:metadata>
问题是,当我在另一个index.xhtml
使用相同模板的ticketsList.xhtml
页面(
../ticketsList.xhtml?baseLocation=&ticketStatus=
当我从 中单击同一项目时ticketsList.xhtml
,它会显示正确的 URL,并且从那里一切正常。
../ticketsList.xhtml?baseLocation=HGN&ticketStatus=Solicitado
谁能指出我为什么从其他页面单击时缺少视图参数?
提前致谢。