Pessoal faz uns 5 dias que estou quebrando a cabeça com isso e não consigo resolver, espero contar com vocês
É o seguinte estou usando fileUpload do prime para carregar algumas imagens, até ai tudo bem eu consigo carregar essas imagens, porem na hora de mostrar em um <p:dataGrid a imagem não aparece…
Não sei mais o que fazer
veja o código(código de teste)…
.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Cadastro de Album</title>
</h:head>
<f:view>
<h:body>
<h:form id="frmGridAlbum">
<p:growl id="menssagensAlbum"
life="3000"/>
<p:dataTable id="dtAlbuns"
widgetVar="dtAlbuns"
var="album"
value="#{albumMB.albuns}"
paginator="true"
rows="5"
selection="#{albumMB.album}"
selectionMode="single"
onRowSelectComplete="dlgAlbum.show();"
emptyMessage="Nao existe Album cadastrado"
style="width:60%"
update="frmCadastroAlbum:somCliente, frmCadastroAlbum:itaDescricao, frmCadastroAlbum:dgdFotos, frmCadastroAlbum:clkGravar, frmCadastroAlbum:clkAlterar">
<p:column sortBy="#{album.id}"
filterBy="#{album.id}">
<f:facet name="header">
<h:outputText value="Id" />
</f:facet>
<h:outputText value="#{album.id}" />
</p:column>
<p:column sortBy="#{album.cliente.nome}"
filterBy="#{album.cliente.nome}">
<f:facet name="header">
<h:outputText value="Cliente" />
</f:facet>
<h:outputText value="#{album.cliente.nome}" />
</p:column>
</p:dataTable>
<p:panel style="width:59.2%">
<p:commandLink id="clkIncluir"
title="Incluir"
oncomplete="dlgAlbum.show()"
action="#{albumMB.incluir}"
update="frmCadastroAlbum:somCliente, frmCadastroAlbum:itaDescricao, frmCadastroAlbum:dgdFotos, frmCadastroAlbum:clkGravar, frmCadastroAlbum:clkAlterar">
<h:graphicImage url="/imagens/novo.jpg"
style="border:0"/>
</p:commandLink>
<p:commandLink title="Apagar"
actionListener="#{albumMB.apagar}"
style="margin-left:20px"
update="frmGridAlbum"
oncomplete="dlgAlbum.hide();">
<h:graphicImage url="/imagens/apagar.jpg"
style="border:0"/>
</p:commandLink>
<h:commandLink title="Voltar"
action="#{albumMB.voltar}"
style="margin-left:20px">
<h:graphicImage url="/imagens/voltar.jpg"
style="border:0"/>
</h:commandLink>
</p:panel>
</h:form>
<h:form id="frmCadastroAlbum">
<p:dialog id="dlgAlbum"
widgetVar="dlgAlbum"
header="Album"
width="700">
<h:outputLabel value="imagem"
for="gi"/>
<p:graphicImage id="gi" value="#{albumMB.imagem}"/>
<h:panelGrid columns="2">
<h:outputLabel value="Cliente:"
for="somCliente" />
<h:selectOneMenu id="somCliente"
value="#{albumMB.album.cliente.nome}"
required="true"
requiredMessage="Informe a descricao">
<f:selectItems value="#{albumMB.clientes}"
var="cliente"
itemValue="#{cliente.id}"
itemLabel="#{cliente.nome} CPF : #{cliente.cpf}"/>
</h:selectOneMenu>
<h:outputLabel value="Descricao:"
for="itaDescricao"/>
<p:inputTextarea id="itaDescricao"
value="#{albumMB.album.descricao}"
required="true"
requiredMessage="Informe a descricao"/>
</h:panelGrid>
<p:dataGrid id="dgdFotos"
var="imagem"
value="#{albumMB.imagens}"
columns="2"
rows="1"
paginator="true"
style="width:30%">
<p:column>
<p:graphicImage id="gii"
value="#{imagem}"/>
</p:column>
</p:dataGrid>
<h:panelGrid columns="3" >
<p:fileUpload id="fudSelecionarFotos"
fileUploadListener="#{albumMB.selecionarFoto}"
multiple="true"
allowTypes="*.jpg;*.png;*.gif;"
description="Images"
update="dgdFotos, gi"
style="margin-right:20px"/>
<p:commandLink id="clkGravar"
title="Gravar"
action="#{albumMB.gravar}"
disabled="#{!empty albumMB.album.id}"
style="margin-right:20px"
update="frmCadastroAlbum:somCliente, frmCadastroAlbum:itaDescricao, frmCadastroAlbum:dgdFotos, frmGridAlbum:menssagensAlbum, frmGridAlbum:dtAlbuns">
<h:graphicImage url="/imagens/gravar.jpg"
style="border:0"/>
</p:commandLink>
<p:commandLink id="clkAlterar"
title="Alterar"
action="#{albumMB.album}"
disabled="#{empty albumMB.album.id}"
update="frmCadastroAlbum:somCliente, frmCadastroAlbum:itaDescricao, frmCadastroAlbum:dgdFotos, frmGridAlbum:menssagensAlbum, frmGridAlbum:dtAlbuns"
style="margin-left:20px">
<h:graphicImage url="/imagens/alterar.bmp"
style="border:0"/>
</p:commandLink>
</h:panelGrid>
</p:dialog>
</h:form>
</h:body>
</f:view>
</html>
MB
public void selecionarFoto(FileUploadEvent event) throws IOException {
System.out.println("okkk");
UploadedFile uf = event.getFile();
String nomeArquivo = uf.getFileName();
InputStream is = null;
Foto foto = new Foto();
String caminho = "C:"+File.separator+"img"+File.separator+nomeArquivo;
try {
is = uf.getInputstream();
byte[] b = new byte[is.available()];
InputStream stream = new ByteArrayInputStream(b);
foto.setNome(nomeArquivo);
foto.setFoto(b);
//BufferedImage img = ImageIO.read(event.getFile().getInputstream());
//File file = new File(caminho);
//boolean write = ImageIO.write(img, "jpg", file);
//FileInputStream fi = new FileInputStream(file);
//System.out.println("escreveu?? " +write);
this.imagem = new DefaultStreamedContent(stream);
this.getImagens().add(new DefaultStreamedContent(stream));
foto.setImagem(new DefaultStreamedContent(stream));
//foto.setImagem(new DefaultStreamedContent(stream));
//foto.setImagem(new DefaultStreamedContent(event.getFile().getInputstream()));
fotos.add(foto);
//this.imagem = new DefaultStreamedContent(stream);
System.out.println("okkk nome"+ foto.getImagem());
JSFUtil.enviarMenssagemSucesso("Upload realizado com sucesso.");
} catch (Exception e) {
e.printStackTrace();
JSFUtil.enviarMenssagemErro("Erro ao realizar o Upload.");
} finally {
try {
is.close();
} catch (IOException ex) {
ex.printStackTrace();
JSFUtil.enviarMenssagemErro("Erro ao realizar o Upload.");
}
}
}
NÃO DA NENHUM ERRO APENAS NÃO APARECE A IMAGEM,
Ajuda ai pessoal
Obrigado
Pessoal uma observação
eu mando imprimir o objeto imagem (StreamedContent)
this.imagem = this.getFoto().getImagem();
System.out.println("Fotoo "+imagem);
e ele imprimi e o valor impresso é
Fotoo org.primefaces.model.DefaultStreamedContent@8e6591
ou seja o objeto está lá. o prime só não consegui rendereizar este objeto…
preciso de ajuda
Iae galera, alguem vai poder me ajudar?
A id de uma das suas graphic image é gi
Mas o FileUpload manda atualizar a “gii”
<p:fileUpload id="fudSelecionarFotos"
fileUploadListener="#{albumMB.selecionarFoto}"
multiple="true"
allowTypes="*.jpg;*.png;*.gif;"
description="Images"
update="dgdFotos, gi"
style="margin-right:20px"/>
A sua outra graphic imagem tem o ID gii
<p:graphicImage id="gii"
value="#{imagem}"/>
Mas ela recebe a value como “imagem” que é a var da sua dataGrid
agora decida oq voce realmente quer atualizar para receber o novo valor imagem (StreamedContent) da MB 
É que é o seguinte,isto que eu fiz é para teste…
eu fiz as duas coisas,
o <p:graphicImage id=“gii"
value=”#{imagem}"/>
vem de um lista… no blog quebrandoParadigma o pessoal falou que o dataTable ou dataGrid etc, não suporta lista de
StreamedContent eu queria confirma se isso é verdade com alguem de vcs?
por isso eu não estou atualizando o “gii”…por enquanto deixei de lado…
pra mim atualizando o gi já esta de bom tamanho, porem nem isso ele está fazendo…
Obrigado pela ajuda.
Ainda não tive a oportunidade de testar os componentes que você está a usar.
Atualmente, tive que parar o desenvolvimento de um sistema web e estou dando suporte à um sistema swing em produção.
abraços
Okey, pessoal mais alguem pode me ajudar?
estou passando por um problema parecido.
no meu caso temos problemas com o file upload também, não é sempre(funciona quando quer…)
estamos com primefaces 2.2.1, e utilizando Spring
toda vez que passo por uma página que possui o elemento p:graphicImage recebo essa excessão
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/aplicacao] threw exception [null] with root cause
java.lang.NullPointerException
at org.primefaces.application.DynamicContentStreamer.streamDynamicContent(DynamicContentStreamer.java:78)
at org.primefaces.application.DynamicContentStreamer.beforePhase(DynamicContentStreamer.java:57)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:224)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:95)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:368)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:97)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:100)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:78)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:35)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:177)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:187)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:105)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:79)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:169)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
12/04/2011 11:41:21 org.apache.catalina.core.ApplicationDispatcher invoke
GRAVE: Servlet.service() for servlet Faces Servlet threw exception
java.lang.NullPointerException
at org.primefaces.application.DynamicContentStreamer.streamDynamicContent(DynamicContentStreamer.java:78)
at org.primefaces.application.DynamicContentStreamer.beforePhase(DynamicContentStreamer.java:57)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:224)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:95)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:674)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:464)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:401)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:464)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:313)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
12/04/2011 11:41:21 org.apache.catalina.core.StandardHostValve custom
GRAVE: Exception Processing ErrorPage[exceptionType=java.lang.Exception, location=/error.jsf]
javax.servlet.ServletException
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:674)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:464)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:401)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
at org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:464)
at org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:313)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:177)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.primefaces.application.DynamicContentStreamer.streamDynamicContent(DynamicContentStreamer.java:78)
at org.primefaces.application.DynamicContentStreamer.beforePhase(DynamicContentStreamer.java:57)
at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:224)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:95)
at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:107)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:114)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:308)
... 20 more
o bom é que não encontrei resultados na internet e essa exceção não passa por nenhuma classe da nossa aplicação.
caso alguém tiver algo a contribuir, será bem vindo
att
Vitor
Estou com o mesmo problema .
Fiz igual esse exemmplo
http://quebrandoparadigmas.com/?p=168
Alguem conseguiu resolver ?
Consegui resolver.
O meu ManagedBean estava como ViewScoped, eu troquei para SessionScoped.
Esta funcionando sem problemas agora.
O meu não consigo resolver por nada, mais vc está usando o StreamContent? OU esta gravando imagem e setando o caminho
?
Sim uso o StreamedContent
segue o codigo abaixo:
Managed Bean
@ManagedBean(name = "cadastroFace")
@SessionScoped
public class CadastroFace extends Face {
private byte[] foto;
private StreamedContent imagem;
public CadastroFace() {
}
public StreamedContent getImagem() {
return imagem;
}
public void setImagem(StreamedContent imagem) {
this.imagem = imagem;
}
public void handleFileUpload(FileUploadEvent event)throws IOException {
//salva a imagen no StreamedContent para ser visualizada antes de salvar no disco
imagem = new DefaultStreamedContent(event.getFile().getInputstream(), "image/jpeg", event.getFile().getFileName());
foto = event.getFile().getContents();
}
public void salvar() throws Exception {
// salva a imagen no disco
//passo o parametro 'foto' com o bytes gerados no momento do upload da foto
criaArquivo(foto, "c:/foto/nomeImagen.jpg");
}
public void criaArquivo(byte[] bytes, String arquivo) throws IOException {
FileOutputStream fos;
fos = new FileOutputStream(arquivo);
fos.write(bytes);
fos.close();
}
}
Pagina web
...
<p:fileUpload fileUploadListener="#{cadastroFace.handleFileUpload}" label="Procurar..." auto="true" allowTypes="*.jpg;*.png;*.gif;" update="imagem" description="Images" multiple="false"/>
<p:graphicImage value="#{cadastroFace.imagem}" cache="false" width="250" height="200" id="imagem"/>
<p:commandButton value="Gravar" action="#{cadastroFace.salvar()}" />
...
Além do jar do primefaces é necessário que sejam adicionando dois novos jar nas bibliotecas do seu projeto:
commons-fileupload1.2.2 http://commons.apache.org/fileupload/download_fileupload.cgi
commons-io2.0.1.jar http://commons.apache.org/io/download_io.cgi
e tambén de adicionar essa configuração no xml.
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class> org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
...
Isto já esta configurado.
Obrigado por ajudar
dae galera! To na mesma tbm… já configurei web.xml, baixei os commons e nada!
antes travava o upload, agora ele da “HTTP ERROR” em tudo… passei a tarde inteira hj fazendo teste, buscando na net NÃO CONSIGO!
Caso não dê com o primefaces, tem como fazer na mão? usando um input type=“file”?
Netbeans 6.9 - Windows 7 Pro - PrimeFaces 2.1 - Glassfish 3.01
O meu upload funciona normal, o que não consigo resolver é em relação ao p:grapicImage que não mostra a imagem de um StreanContent
será q vc pode me ajudar então? não sei se é do netbeans (pq os arquivos de configuração ficam em locais diferentes), mas não vai cara! vou postar meus arquivos e se alguem puder corrigir/dar uma dica eu agradeceria muito!
Talvez tenha q fazer algo no sun-web.xml ou web-fragment.xml que o netbeans cria? Alguma configuração no Glassfish?
Só pra confirmar, já importei o commons-io 2.0.1 e o fileupload 1.2.2 tbm. Meu ambiente de desenvolvimento: Netbeans 6.9.1 - Windows 7 Pro - PrimeFaces 2.1 - Hibernate 3 - Glassfish 3.01
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.xhtml</welcome-file>
</welcome-file-list>
</web-app>
admin.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" template="./template.xhtml"
xmlns:h="http://java.sun.com/jsf/html" xmlns="http://www.w3.org/1999/xhtml"
xmlns:p="http://primefaces.prime.com.tr/ui">
<ui:define name="mainContent">
<p:fileUpload fileUploadListener="#{adminBean.handleFileUpload}" update="t2" />
<h:outputText id="t2" value="#{adminBean.text}" />
</ui:define>
</ui:composition>
AdminBean.java
@ManagedBean
@RequestScoped
public class AdminBean {
private String text;
public void handleFileUpload(FileUploadEvent event) {
this.text = event.getFile().getFileName();
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
desde já agradeço!