【发布时间】:2012-09-07 13:09:46
【问题描述】:
可能我在这里遗漏了一些东西。
我有一个带有菜单的模板,带有 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
谁能指出我为什么从其他页面点击时缺少视图参数?
提前致谢。
【问题讨论】:
标签: jsf-2