GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Upload de arquivos JSF + tomahawk
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
30/09/2009 14:34:30
Assunto:
Upload de arquivos JSF + tomahawk
fnandos
JavaEvangelist
Membro desde: 18/02/2008 10:57:42
Mensagens: 317
Localização: Santa Catarina
Offline
Salve pessoal, estava tentando fazer um upload de arquivo com jsf e com o tomahawk da Apache mas sempre me deparo com a seguinte exceção:
SEVERE: Received 'java.lang.NullPointerException' when invoking action listener '#{DocumentoControl.save}' for component 'j_id_id56' SEVERE: java.lang.NullPointerException at pacote.DocumentoControl.save(DocumentoControl.java:38) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:187) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:297) at javax.faces.event.MethodExpressionActionListener.processAction(MethodExpressionActionListener.java:88) at javax.faces.event.ActionEvent.processListener(ActionEvent.java:77) at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:746) at javax.faces.component.UICommand.broadcast(UICommand.java:368) at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:447) at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:752) at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251) at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:427) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:315) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:287) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:218) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:98) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:222) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:166) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:648) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:593) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:587) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1096) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:288) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:647) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:579) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:831) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
o meu jsp está assim:
<h:form enctype="multipart/form-data"> <h:panelGrid columns="3"> <h:outputText value="Tipo de Documento" styleClass="" /> <h:inputText id="tpdCodigo" required="true" binding="#{DocumentoControl.inputTpdDocumento}" styleClass="inputsForms"> </h:inputText> <h:message for="tpdCodigo" /> <h:outputText value="Arquivo" styleClass="" /> <t:inputFileUpload id="file" storage="file" value="#{DocumentoControl.inputDocumento}" /> <h:message for="file"/> </h:panelGrid> <p><h:commandButton value="Salvar" actionListener="#{DocumentoControl.save}" action="#{DocumentoControl.act}" styleClass="" /> <h:commandButton value="Cancelar" immediate="true" onclick="return confirm('Deseja cancelar o tipo de documento sendo editado?')" action="cancelar" styleClass="" /> </p> </h:form>
e no backing bean no metodo save
System.out.print("Entrou aqui"); // obtem os valores dos componentes int tpdCodigo = Integer.parseInt((String) getInputTpdDocumento().getValue()); File arq = new File(getInputDocumento().getName()); BufferedInputStream bis = new BufferedInputStream(getInputDocumento().getInputStream()); FileOutputStream fos = new FileOutputStream(arq); byte[] buffer = new byte[1024]; int count; while ((count = bis.read(buffer)) > 0) fos.write(buffer, 0, count); bis.close(); fos.close(); System.out.print("Passou pela leitura do arquivo");
sendo que input documento é do tipoUploadedFile.
Configurei também o web.xml com o seguinte:
<filter> <filter-name>extensionsFilter</filter-name> <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class> <init-param> <param-name>uploadMaxFileSize</param-name> <param-value>100m</param-value> </init-param> <init-param> <param-name>uploadThresholdSize</param-name> <param-value>100k</param-value> </init-param> </filter>
O que acontece é que ele não está pegando o inputDocumento, o que poderia estar errado?
Quando saci entra na briga todo chute vira voadora!
Índice dos Fóruns
»
Desenvolvimento Web
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team