在o:graphicImage中使用f:param

时间:2016-01-19 12:49:14

标签: jsf parameter-passing omnifaces graphicimage

以下内容曾用于p:graphicImage,但不适用于o:graphicImage

问题:data_id始终为空。

XHTML:

<p:dataScroller var="data"...
  <p:graphicImage  value="#{bean.imagel}" >
      <f:param name="data_id" value="#{data._id}" />
  </p:graphicImage>

豆:

public InputStream getImage(){

    String dataId = FacesContext.getCurrentInstance()
            .getExternalContext()
            .getRequestParameterMap()
            .get("data_id");

我也尝试使用o:param得到相同的结果。我错过了什么?

1 个答案:

答案 0 :(得分:3)

<f:param>内的<p:graphicImage>PrimeFaces-specific trick,可以StreamedContent运行&#34;正如所料&#34;。

<o:graphicImage>不支持它(标准<h:graphicImage>也不支持)。只需将其作为EL方法参数传递给常用方法。最终会得到更干净的代码。

<o:graphicImage value="#{bean.getImage(data.id)}" />

public InputStream getImage(Long dataId) {
    // ...
}

另请参阅documentation中的代码示例。