Formulário com associação a outra classe

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:

[quote]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)
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:95) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.handleException(VRaptorInstantiator.java:97) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:87) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:80) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateOrAddError(IogiParametersProvider.java:80) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.instantiateParameters(IogiParametersProvider.java:73) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.http.iogi.IogiParametersProvider.getParametersFor(IogiParametersProvider.java:63) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.getParametersFor(ParametersInstantiatorInterceptor.java:126) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:83) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:59) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54) [vraptor-3.4.1.jar:]
at br.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:]
at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58) [vraptor-3.4.1.jar:]
at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88) [vraptor-3.4.1.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:129) [sitemesh-2.4.2.jar:]
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:77) [sitemesh-2.4.2.jar:]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.13.Final.jar:]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.13.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.13.Final.jar:]
at org.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:]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_04]
Caused by: java.lang.NullPointerException
at com.hadros.gip.model.PessoaFisica.setNome(PessoaFisica.java:190) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_04]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_04]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_04]
at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_04]
at net.vidageek.mirror.provider.java.PureJavaMethodReflectionProvider.invoke(PureJavaMethodReflectionProvider.java:38) [mirror-1.5.jar:]
at net.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:]
at br.com.caelum.iogi.reflection.NewObject.setProperty(NewObject.java:58) [iogi-0.9.1.jar:]
at br.com.caelum.iogi.reflection.NewObject.populateProperties(NewObject.java:51) [iogi-0.9.1.jar:]
at br.com.caelum.iogi.reflection.NewObject.valueWithPropertiesSet(NewObject.java:41) [iogi-0.9.1.jar:]
at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30) [iogi-0.9.1.jar:]
at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20) [iogi-0.9.1.jar:]
at br.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:]
at br.com.caelum.iogi.ObjectInstantiator.instantiate(ObjectInstantiator.java:30) [iogi-0.9.1.jar:]
at br.com.caelum.iogi.MultiInstantiator.instantiate(MultiInstantiator.java:20) [iogi-0.9.1.jar:]
at br.com.caelum.vraptor.http.iogi.VRaptorInstantiator.instantiate(VRaptorInstantiator.java:85) [vraptor-3.4.1.jar:]
… 43 more[/quote]

Alguém sabe como resolver isso?
Preciso instanciar a pessoaFisica antes de mandar o servidor para a view?

Obrigado

Olá, Felix.

O que tem na linha 190 da classe “PessoaFisica”? Parece que aí há algum objeto nulo, não é isso?

Sds,
Almir.