如何从数据库显示“ p:graphicImage”

时间:2019-03-13 20:00:26

标签: jsf primefaces

我需要使用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;
        }
    }

0 个答案:

没有答案