以下内容曾用于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
得到相同的结果。我错过了什么?
答案 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中的代码示例。