[Resolvido] JSF, Primefaces - Erro usando FileUpload

10 respostas
D

Olá galera,
To tentando fazer upload usando o fileupload do primefaces mas tá dando um erro de não poder restaurar a view, e estou usando sessionscoped.

O que poderia ser esse erro?

javax.faces.application.ViewExpiredException: viewId:/adicionaProduto.xhtml - A exibição de /adicionaProduto.xhtml não pôde ser restaurada.
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:200)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:111)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:636)
<h:outputLabel value="Imagem: " for="imagem"/>
		<p:fileUpload id="imagem" allowTypes="*.jpg;*.png;" fileUploadListener="#{produtoBean.efetuaUpload}" label="Procurar..." multiple="false" auto="true"/>
public void efetuaUpload(FileUploadEvent evt) throws IOException {
		byte[] foto = evt.getFile().getContents() ;
		Imagem img = new Imagem() ;
		img.setFoto(foto) ;
		
		System.out.println("Passei pelo metodo de upload: " + evt.getFile().getFileName() + " - " + img.getFoto());
		
		this.produto.getImagens().add(img) ;
	}
<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>

10 Respostas

B

Vc baixou as dependências do fileUpload , commons-fileupload 1.2.1 e commons-io 1.4 ???

D

Sim brother

D
Então mano, dei 1 clean no servidor aqui e tentei denovo. Agora deu essas exceptions
10/02/2011 19:53:15 com.sun.faces.lifecycle.ApplyRequestValuesPhase execute
WARNING: /adicionaProduto.xhtml @47,155 fileUploadListener="#{produtoBean.efetuaUpload}": java.lang.NullPointerException
javax.el.ELException: /adicionaProduto.xhtml @47,155 fileUploadListener="#{produtoBean.efetuaUpload}": java.lang.NullPointerException
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
	at org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:238)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:752)
	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:928)
	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:636)
Caused by: java.lang.NullPointerException
	at br.com.lioneletronicos.bean.ProdutoBean.efetuaUpload(ProdutoBean.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	... 26 more

javax.faces.FacesException: /adicionaProduto.xhtml @47,155 fileUploadListener="#{produtoBean.efetuaUpload}": java.lang.NullPointerException
	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:86)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:77)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:636)
Caused by: javax.el.ELException: /adicionaProduto.xhtml @47,155 fileUploadListener="#{produtoBean.efetuaUpload}": java.lang.NullPointerException
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:111)
	at org.primefaces.component.fileupload.FileUpload.broadcast(FileUpload.java:238)
	at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:752)
	at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:928)
	at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
	... 22 more
Caused by: java.lang.NullPointerException
	at br.com.lioneletronicos.bean.ProdutoBean.efetuaUpload(ProdutoBean.java:37)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:616)
	at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
	at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
	at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
	... 26 more
G

Amigo,
olhe esse topico http://www.guj.com.br/java/232832-componente-de-upload-do-primefaces-nao-esta-chamando-o-metodo-do-bean/1#1198075

Abraços

L

Olá,

No meu projeto utilizo jsf 1.2. Baixei o primefaces1.0.2.jar para utilizar o componente carousel.

O problema é que no Firefox ele roda direitinho, mas não roda no IE, o componente aparece mas não o conteúdo com as imagens.

Alguém tem alguma idéia de como resolver? Também não consegui rodar o projeto com o primefaces1.1.zip, que tem no repositório do PrimeFaces. Se alguém tiver esse jar e puder me enviar por e-mail eu agradeço: [email removido].

Obrigada

B

brother testei seu código

e funciona no meu

to usando glassfish 3.1 , jsf2, e primefaces 2.2 , commons-io 2.0 e commons-fileupload 1.2.2

só essa parte que mudei e coloquei um o tag do file upload dentro do form sei que isso vc não esqueceu

public void efetuaUpload(FileUploadEvent evt) throws IOException {
		 foto = evt.getFile().getContents() ;


		System.out.println("Passei pelo metodo de upload: " + evt.getFile().getFileName());

    }

hehehe e agora???

B

Livia
Olá,

No meu projeto utilizo jsf 1.2. Baixei o primefaces1.0.2.jar para utilizar o componente carousel.

acabou de sair a versão final do primefaces2.2 , vc não acha melhor atualiza-lo???

D

Benzaquem:
brother testei seu código

e funciona no meu

to usando glassfish 3.1 , jsf2, e primefaces 2.2 , commons-io 2.0 e commons-fileupload 1.2.2

só essa parte que mudei e coloquei um o tag do file upload dentro do form sei que isso vc não esqueceu

public void efetuaUpload(FileUploadEvent evt) throws IOException {
		 foto = evt.getFile().getContents() ;


		System.out.println("Passei pelo metodo de upload: " + evt.getFile().getFileName());

    }

hehehe e agora???

Brother, baixei o commons-io e primefaces mais atualizados e agora foi tranquilo… estranho né? hauhuahua
mas beleza, brigadão ai manin
abs!

L

Benzaquem,
O Primeface 2.2 trabalha com JSF 2.0 e eu tenho que usar esclusivamente o JSF 1.2…

L

Alguém sabe de algum outro componente semelhante ao carousel, de outro framework?

Obrigada

Criado 10 de fevereiro de 2011
Ultima resposta 11 de fev. de 2011
Respostas 10
Participantes 4