在 o:graphicImage 中使用 f:param
Using f:param inside o: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
试过,结果相同。我错过了什么?
<p:graphicImage>
中的 <f:param>
是一个 PrimeFaces-specific trick 来让 StreamedContent
工作 "as expected"。
<o:graphicImage>
不支持它(标准 <h:graphicImage>
也不支持)。只需按照通常的方式将其作为 EL 方法参数传递即可。它以更干净的代码结束。
<o:graphicImage value="#{bean.getImage(data.id)}" />
public InputStream getImage(Long dataId) {
// ...
}
另请参阅 documentation 中的代码示例。
以下用于 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
试过,结果相同。我错过了什么?
<p:graphicImage>
中的 <f:param>
是一个 PrimeFaces-specific trick 来让 StreamedContent
工作 "as expected"。
<o:graphicImage>
不支持它(标准 <h:graphicImage>
也不支持)。只需按照通常的方式将其作为 EL 方法参数传递即可。它以更干净的代码结束。
<o:graphicImage value="#{bean.getImage(data.id)}" />
public InputStream getImage(Long dataId) {
// ...
}
另请参阅 documentation 中的代码示例。