king_of_gods 4 de mai. de 2010
Amigo, poste a classe completa. Não abrevie nada.
Pq vc não coloca seu DAO passando como parâmetro.
jvicthor 4 de mai. de 2010
Desculpa atualizei com o código da classe.
Ainda está em desenvolvimento, neste ponto o erro já ocorre.
Como parâmetro para o Result? Não tinha pensado nisso.
Oferece alguma vantagem?
king_of_gods 4 de mai. de 2010
Não. Eu falei no Construtor, mas vi que você está passando o DaoFactory no construtor.
Só dar um toque, é mais gosto pessoal.
Ao invés de passar a lista direto no result, tenta criar uma lista antes e dps vc inserir no result.
Exemplo:
List listaPapeis = this .daofactory .getPapelDao () .listar () ;
this .result .include ( "listaPapeis" , listaPapeis ) ;
Uma curiosidade, pq está usando DaoFactory? Não acha interessante usar o DAO direto ao invés da fábrica?
jvicthor 4 de mai. de 2010
Fica com o mesmo problema. Na verdade havia desenvolvido assim, depois alterei para enviar o retorno direto p result.
Acho que o código fica mais organizado por causa da quantidade de DAOs. Fora isso, nenhuma razão mais técnica.
king_of_gods 4 de mai. de 2010
Ao invés de passar a lista direto no result, tenta criar uma lista antes e dps vc inserir no result.
Fica com o mesmo problema. Na verdade havia desenvolvido assim, depois alterei para enviar o retorno direto p result.
Acho que o código fica mais organizado por causa da quantidade de DAOs. Fora isso, nenhuma razão mais técnica.
Qto ao erro, voltou a acontecer? Cola o erro pra dar uma olhada.
jvicthor 4 de mai. de 2010
Continua :?
Em alguns controllers que não tem escopo de sessão o problema não acontece.
O problema é que preciso desse escopo em outros.
Segue o Null Pointer:
java .lang .NullPointerException
at org .apache .catalina .connector .Request .setAttribute ( Request .java :1383 )
at org .apache .catalina .connector .RequestFacade .setAttribute ( RequestFacade .java :501 )
at javax .servlet .ServletRequestWrapper .setAttribute ( ServletRequestWrapper .java :284 )
at br .com .caelum .vraptor .core .DefaultResult .include ( DefaultResult .java :53 )
at br .unifacs .wgpms .controller .PapeisController .incluir ( PapeisController .java :76 )
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 br .com .caelum .vraptor .interceptor .ExecuteMethodInterceptor .intercept ( ExecuteMethodInterceptor .java :57 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :54 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :56 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .interceptor .ParametersInstantiatorInterceptor .intercept ( ParametersInstantiatorInterceptor .java :77 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :54 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .interceptor .InstantiateInterceptor .intercept ( InstantiateInterceptor .java :42 )
at br .com .caelum .vraptor .core .InstantiatedInterceptorHandler .execute ( InstantiatedInterceptorHandler .java :47 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .interceptor .InterceptorListPriorToExecutionExtractor .intercept ( InterceptorListPriorToExecutionExtractor .java :46 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :54 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .interceptor .FlashInterceptor .intercept ( FlashInterceptor .java :81 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :54 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .interceptor .ResourceLookupInterceptor .intercept ( ResourceLookupInterceptor .java :67 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :54 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .core .ToInstantiateInterceptorHandler .execute ( ToInstantiateInterceptorHandler .java :56 )
at br .com .caelum .vraptor .core .DefaultInterceptorStack .next ( DefaultInterceptorStack .java :65 )
at br .com .caelum .vraptor .core .DefaultRequestExecution .execute ( DefaultRequestExecution .java :70 )
at br .com .caelum .vraptor .VRaptor $1 .insideRequest ( VRaptor .java :92 )
at br .com .caelum .vraptor .ioc .spring .SpringProvider .provideForRequest ( SpringProvider .java :56 )
at br .com .caelum .vraptor .VRaptor .doFilter ( VRaptor .java :89 )
at org .apache .catalina .core .ApplicationFilterChain .internalDoFilter ( ApplicationFilterChain .java :215 )
at org .apache .catalina .core .ApplicationFilterChain .doFilter ( ApplicationFilterChain .java :188 )
at org .apache .catalina .core .StandardWrapperValve .invoke ( StandardWrapperValve .java :213 )
at org .apache .catalina .core .StandardContextValve .invoke ( StandardContextValve .java :174 )
at org .apache .catalina .core .StandardHostValve .invoke ( StandardHostValve .java :127 )
at org .apache .catalina .valves .ErrorReportValve .invoke ( ErrorReportValve .java :117 )
at org .apache .catalina .core .StandardEngineValve .invoke ( StandardEngineValve .java :108 )
at org .apache .catalina .connector .CoyoteAdapter .service ( CoyoteAdapter .java :174 )
at org .apache .coyote .http11 .Http11Processor .process ( Http11Processor .java :874 )
at org .apache .coyote .http11 .Http11BaseProtocol $Http11ConnectionHandler .processConnection ( Http11BaseProtocol .java :665 )
at org .apache .tomcat .util .net .PoolTcpEndpoint .processSocket ( PoolTcpEndpoint .java :528 )
at org .apache .tomcat .util .net .LeaderFollowerWorkerThread .runIt ( LeaderFollowerWorkerThread .java :81 )
at org .apache .tomcat .util .threads .ThreadPool $C ontrolRunnable .run ( ThreadPool .java :689 )
at java .lang .Thread .run ( Thread .java :619 )
king_of_gods 4 de mai. de 2010
Amigo, explica o queres fazer. Talvez exista uma outra solução em vez de deixar o escopo como sessão.
jvicthor 4 de mai. de 2010
É um cadastro dividido em telas por causa do número e da estrutura dos campos.
A quantidade de campos deixa complicado fazer usando escopo de Request pois teria que guardar muitas informações em inputs do tipo hidden.
Tem idéia do que possa ser esse problema? Lembrando que quando ocorre nem o Result e nem a lista estão nulos.
Lucas_Cavalcanti 4 de mai. de 2010
seu Controller depende de um componente Request Scoped (o Result), logo ele não pode ser SessionScoped, pois logo que acaba a primeira requisição, o Request que está dentro do Result é apagado, por isso vc recebe a Null Pointer exception…
o que vc pode fazer é separar os dados que vc quer guardar durante esse seu processo em uma outra classe, essa sim session scoped, e receber ela no construtor do seu controller…
daí ao invés de vc guardar os dados dentro do controller, vc guarda dentro dessa outra classe