Ajax + VRaptor + fileupload

0 respostas
J

E o seguinte e consigo enviar um formulario via ajax tipo

jQuery.fn.adicionaPessoa = function(){

jQuery.ajax({

contentType: application/x-www-form-urlencoded,

async: true,

type: POST,

url: cadpesssoa.adiciona.logic,

data: (jQuery(’#formulario).serialize()),

});

}

Isso ai em cima funciona blz.

Agora seu eu quiser usar o FileUpload como manda na documentacao no VRaptor ENCTYPE=multipart/form-data

o codigo ficaria assim

jQuery.fn.adicionaPessoa = function(){

jQuery.ajax({

contentType: multipart/form-data,

async: true,

type: POST,

url: cadpesssoa.adiciona.logic,

data: (jQuery(#formulario’).serialize()),

});

}

tenho a seguinte exception:

java.lang.NullPointerException

at br.inf.atena.hibernate.logic.PeesoaLogic.adiciona(PesDigitalLogic.java:48)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.vraptor.component.DefaultLogicMethod.execute(DefaultLogicMethod.java:61)

at org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:32)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:131)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:41)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:58)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.MultipartRequestInterceptor.intercept(MultipartRequestInterceptor.java:71)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.FlashScopeInterceptor.intercept(FlashScopeInterceptor.java:22)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:38)

at org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:72)

at org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:98)

at org.vraptor.core.DefaultController.execute(DefaultController.java:46)

at org.vraptor.VRaptorServlet.service(VRaptorServlet.java:70)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)

at java.lang.Thread.run(Unknown Source)

Ou seja a imagem que esta para fazer download faz com que via ajax de pau se eu usar o botao submite do form para enviar os dados nao da pau.
Como se resolve isto preciso enviar via ajax e nao com o botao submite do form.

Obrigado !!!
Joao Vitor

Criado 12 de maio de 2009
Respostas 0
Participantes 1