Srs,
tenho o seguinte na minha view:
Meu controller:
@Post("/servidor")
public void salvar(final Servidor servidor) {
this.validator.validate(servidor);
Mas quando faço a submissão do formulário recebo um baita nullpointerexception.
Provavelmente por que a associação .pessoaFisica está nula quando o vraptor vai tentar inserir o conteúdo do campo nome dentro dela.
A exception:
12:17:43,141 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/gip]] (http-localhost-127.0.0.1-8080-1) Unhandled exception occurred whilst decorating page: br.com.caelum.vraptor.http.InvalidParameterException: Exception when trying to instantiate Target(name=servidor, type=class com.hadros.gip.model.Servidor)
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:95)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:97)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:87)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:80)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:80)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:73)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:63)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:126)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:83)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)[vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91) [vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)[vraptor-3.4.1.jar:]
atbr.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)[vraptor-3.4.1.jar:]
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)[jbossweb-7.0.13.Final.jar:]
atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129)[sitemesh-2.4.2.jar:]
atcom.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77)[sitemesh-2.4.2.jar:]
atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)[jbossweb-7.0.13.Final.jar:]
atorg.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)[jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)[jbossweb-7.0.13.Final.jar:]
atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)[jbossweb-7.0.13.Final.jar:]
atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)[jbossweb-7.0.13.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)[jbossweb-7.0.13.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)[jbossweb-7.0.13.Final.jar:]
atjava.lang.Thread.run(Thread.java:722)[rt.jar:1.7.0_04]
Caused by: java.lang.NullPointerException
atcom.hadros.gip.model.PessoaFisica.setNome(PessoaFisica.java:190)[classes:]
atsun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[rt.jar:1.7.0_04]
atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)[rt.jar:1.7.0_04]
atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[rt.jar:1.7.0_04]
atjava.lang.reflect.Method.invoke(Method.java:601)[rt.jar:1.7.0_04]
atnet.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38)[mirror-1.5.jar:]
atnet.vidageek.mirror.invoke.MethodHandlerByMethod.withArgs(MethodHandlerByMethod.java:54)[mirror-1.5.jar:]
at br.com.caelum.iogi.reflection.NewObject$Setter.set(NewObject.java:86)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:58)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:51)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:41)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)[iogi-0.9.1.jar:]
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:85)[vraptor-3.4.1.jar:]
at br.com.caelum.iogi.reflection.Constructors$FilledConstructor.argumentValue(Constructors.java:103)[iogi-0.9.1.jar:]
at br.com.caelum.iogi.reflection.Constructors$FilledConstructor.argumentValues(Constructors.java:94)[iogi-0.9.1.jar:]
at br.com.caelum.iogi.reflection.Constructors$FilledConstructor.instantiate(Constructors.java:87)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30)[iogi-0.9.1.jar:]
atbr.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20)[iogi-0.9.1.jar:]
atbr.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:85)[vraptor-3.4.1.jar:]
… 43 more
Alguém sabe como resolver isso?
Preciso instanciar a pessoaFisica antes de mandar o servidor para a view?
Obrigado