我试图解决有关漂亮面孔传递参数到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有人问过这个问题可以在这里帮忙吗?我会感激帮助
答案 0 :(得分:1)
不确定为什么这种方式不起作用。但是你可以直接将参数绑定到searchView
,这可以更好地工作:
<url-mapping id="frontend_search">
<pattern value="/szukaj/#{searchView.categoryId}" />
<view-id value="#{searchView.getViewPath}" />
</url-mapping>
您只需要将categoryId
属性添加到您的bean中。