Boa tarde.
Preciso fazer upload de imagens e ao término do upload preciso que exiba logo abaixo as imagens. Quando utilizo a anotação @MnagedBean funciona perfeitamente porém quando utilizo a anotação @Named as imagens não são exibidas, alguém sabe como resolvo isso poi preciso usar @Named pois estou usando CDI.
Segue o .xhtml:
<!DOCTYPE html>
<ui:composition template="/WEB-INF/template/Layout.xhtml"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui" xmlns:o="http://omnifaces.org/ui">
<f:metadata>
</f:metadata>
<ui:define name="titulo">Cadastro de Carros</ui:define>
<ui:define name="corpo">
<h1>Cadastro de Carros</h1>
<p:growl id="mensagens" autoUpdate="true" />
<h:form enctype="multipart/form-data">
<p:fileUpload value="#{cadastroCarroBean.file}" label="Procurar..."
fileUploadListener="#{cadastroCarroBean.doUpload}" auto="true"
showButtons="false" update="@form" />
<h:panelGroup id="companyImage">
<p:graphicImage value="#{cadastroCarroBean.imagem}" id="imagem" width="200"
cache="false" rendered="#{cadastroCarroBean.imagem != null}" />
</h:panelGroup>
</h:form>
</ui:define>
</ui:composition>
Segue o Bean:
public class CadastroCarroBean {
private UploadedFile file;
private StreamedContent imagem;
public void doUpload(FileUploadEvent event) {
try {
imagem = new DefaultStreamedContent(event.getFile().getInputstream());
this.setFile(event.getFile());
} catch (IOException e) {
//Tratamento de exceção.
}
}
public UploadedFile getFile() {
return file;
}
public void setFile(UploadedFile file) {
this.file = file;
}
public StreamedContent getImagem() {
return imagem;
}
public void setImagem(StreamedContent imagem) {
this.imagem = imagem;
}
}