2016-04-27 2 views
0

Я пытаюсь решить вопрос относительно довольно лицо параметров переходят к фасоли:красивых лица динамичного-View-идентификатор и эль paramteres

Я настроил отображение довольно-конфигурацию следующим образом:

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

Проблема в что. Параметр не передается в запрос parametersMap

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

является нулевым

но когда я изменить конфигурацию симпатичных лиц к следующему (без динамического просмотра-ид)

<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> 

он отлично работает !. Я не могу понять, почему это происходит. Meaby кто-то был этой проблемой и может помочь здесь? Я буду благодарна за помощь

+0

Возможный дубликат [Идентификатор динамического вида с использованием симпатичных лиц навигации отказывается работать] (http://stackoverflow.com/questions/26290077/dynamic-view-id-using-pretty-faces-navigation-refuses-to-work) – Igor

ответ

0

Не знаете, почему этот способ не работает. Но вы могли бы связать параметр непосредственно к searchView, которая могла бы работать гораздо лучше:

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

Вам просто нужно добавить categoryId свойство вашего компонента.