我需要使用p:graphic显示图像,而不是使用p:dataTable
jsf页面
<p:graphicImage value="#{indexController.image}">
<f:param name="id" value="#{indexController.imagem.id}" />
</p:graphicImage>
我的@Controller
public StreamedContent getImage() throws IOException {
FacesContext context = FacesContext.getCurrentInstance();
if (context.getCurrentPhaseId() == PhaseId.RENDER_RESPONSE) {
return new DefaultStreamedContent();
}
else {
String id = context.getExternalContext().getRequestParameterMap().get("id");
imagem = imagemService.findById(Long.valueOf(1));
StreamedContent sc = new DefaultStreamedContent(new ByteArrayInputStream(imagem.getArquivo()));
return sc;
}
}