2016-04-27 8 views
0

ich eine Frage in Bezug auf hübsche Gesichter Pass Parameter Bean zu lösen versuchen:hübsche Gesichter dynamisch-view-id und el paramteres

ich recht-config-Mapping konfiguriert haben, wie folgt:

<url-mapping id="frontend_search"> 
    <pattern value="/szukaj/#{ categoryId }" /> <!-- pass parameter from url --> 
    <view-id value="#{searchView.getViewPath}" /> <!-- dynamic view id --> 
</url-mapping> 

Problem ist Das. Der Parameter wird in Anfrage parametersMap nicht

String catId = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("categoryId"); 

geleitet wird, ist null

aber wenn ich Konfiguration von hübschen Gesichtern auf die folgende (ohne dynamische Sicht-ID)

<url-mapping id="frontend_search"> 
    <pattern value="/szukaj/#{ categoryId }" /> <!-- pass parameter from url --> 
    <view-id value="/faces/template_1/frontend/pages/products/search.xhtml" /> <!-- no dynamic view id --> 
</url-mapping> 

es funktioniert ändern !. Ich kann nicht verstehen, warum das passiert. Meaby, jemand war das Problem und kann hier helfen? Ich werde dankbar für Hilfe

+0

Mögliches Duplikat von [Dynamische Ansichts-ID mit hübscher Gesichternavigation weigert sich zu arbeiten] (http://stackoverflow.com/questions/26290077/dynamic-view-id-using-pretty-faces-navigation-refuses-to-work) – Igor

Antwort

0

Nicht sicher, warum dieser Weg nicht funktioniert. Aber man könnte den Parameter binden direkt an die searchView, die viel besser funktionieren könnte:

<url-mapping id="frontend_search"> 
    <pattern value="/szukaj/#{searchView.categoryId}" /> 
    <view-id value="#{searchView.getViewPath}" /> 
</url-mapping> 

Sie werden nur die categoryId Eigenschaft zu Ihrem Bean hinzufügen müssen.