1
也許我在這裏失去了一些東西。JSF查看參數僅適用於同一頁面
我有一個菜單模板,使用選項P將參數到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";
}
而且ticketsList.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
單擊相同的項目,它顯示了正確的網址,並從有什麼好的工作。
../ticketsList.xhtml?baseLocation=HGN&ticketStatus=Solicitado
任何人都可以指向我爲什麼瀏覽參數從其他頁面點擊時丟失?
在此先感謝。
有幾個頁面(還有更多未來)和從http://stackoverflow.com/questions/7344056/jsf2-how-achieve-site-wide-viewparam-handling-policy-using-a-template看來我不能把它放在模板中。剩下的唯一選擇是'ManagedProperty'? – SJuan76
這是最好的選擇,是的。最好的辦法是爲此設計一個單獨/不同的請求作用域bean。 – BalusC
「獨立/獨立請求作用域bean」意味着一個只有兩個參數的bean才能被接收頁面的bean使用?否則我不明白。 – SJuan76