1

以下内容曾经p:graphicImageo: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同样的结果。我错过了什么?

4

1 回答 1

3

内部是PrimeFaces 特有的技巧<f:param>,可以让事情“按预期”工作。<p:graphicImage>StreamedContent

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

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

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

另请参阅文档中的代码示例。

于 2016-01-19T12:55:55.030 回答