漂亮的面孔dynamic-view-id和el paramteres

时间:2016-04-27 09:55:06

标签: jsf primefaces prettyfaces

我试图解决有关漂亮面孔传递参数到bean的问题:

我已按如下方式配置了pretty-config映射:

<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"); 

为空

但是当我将漂亮面孔的配置更改为以下(无动态视图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>

它工作正常!我不明白为什么会这样。 Meaby有人问过这个问题可以在这里帮忙吗?我会感激帮助

1 个答案:

答案 0 :(得分:1)

不确定为什么这种方式不起作用。但是你可以直接将参数绑定到searchView,这可以更好地工作:

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

您只需要将categoryId属性添加到您的bean中。