JSF传递参数并重定向到视图范围

mar*_*and 2 parameters jsf

我正在尝试将参数传递给其他页面.我有一个图像类别,该列表在会话范围内,我的标题模板中为每个类别创建了一个链接.

我想重定向到新页面,并传递所选类别.

<h:dataTable id="categoryMenu" value="#{menuBean.listCategory}" var="category">
    <h:column>
        <h:link value="#{category.name}"
     outcome="/image/imageList.xhtml" >
        </h:link>
    </h:column>
</h:dataTable>
Run Code Online (Sandbox Code Playgroud)

但是现在我希望与ImageListBean.java关联的页面imageList.xhtml获得所选类别.

我通过使用f:param请求GET参数尝试了很多事情,但是因为我的ImageListBean.java必须是视图作用域,所以它不起作用.

par*_*lov 8

你的ViewScopedbean不应该是问题.使用此代码:

<h:link value="#{category.name}" outcome="/image/imageList.xhtml">
  <f:param name="categoryName" value="#{category.name}"/>
</h:link>
Run Code Online (Sandbox Code Playgroud)

你应该能够在你的支持bean中访问这个参数:

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("categoryName")
Run Code Online (Sandbox Code Playgroud)