Erro vRaptor - NullPointerException [RESOLVIDO]

2 respostas
J

Pessoal,

Estou com um problema com o vRaptor, tenho uma classe chamada ClienteLogic, que tem o método salvar.
No jsp, no action do forme é chamado cliente.salvar.logic, todo a logica dentro do método salvar é executado com sucesso, só que depois que sai do método é gerado o seguinte erro:

java.lang.NullPointerException org.vraptor.introspector.ExpressionEvaluator.evaluate(ExpressionEvaluator.java:54) org.vraptor.introspector.ExpressionEvaluator.parseExpression(ExpressionEvaluator.java:34) org.vraptor.view.OverridableViewManager.redirect(OverridableViewManager.java:87) org.vraptor.view.OverridableViewManager.forward(OverridableViewManager.java:61) org.vraptor.view.RemoteViewManager.forward(RemoteViewManager.java:72) org.vraptor.view.OverridableViewManager.forward(OverridableViewManager.java:66) org.vraptor.interceptor.ViewInterceptor.intercept(ViewInterceptor.java:40) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.OutjectionInterceptor.intercept(OutjectionInterceptor.java:40) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.ExecuteLogicInterceptor.intercept(ExecuteLogicInterceptor.java:43) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.SettingAndValidationInterceptor.intercept(SettingAndValidationInterceptor.java:141) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.InjectionInterceptor.intercept(InjectionInterceptor.java:45) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.ComponentLookupInterceptor.intercept(ComponentLookupInterceptor.java:56) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) br.com.globalti.interceptors.SpringInterceptor.intercept(SpringInterceptor.java:63) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.interceptor.RegisterAttributesInteceptor.intercept(RegisterAttributesInteceptor.java:57) org.vraptor.core.InterceptorsLogicFlow.execute(InterceptorsLogicFlow.java:82) org.vraptor.core.VRaptorExecution.execute(VRaptorExecution.java:91) org.vraptor.core.VRaptorController.execute(VRaptorController.java:39) org.vraptor.VRaptorServlet.service(VRaptorServlet.java:53) javax.servlet.http.HttpServlet.service(HttpServlet.java:803) jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)

Não estou entendendo, pois em outras classes, ou até mesmo nesta(mas outros métodos) funciona corretamente, por exemplo, excluir, editar, etc. e aparentemente não tem nada diferente.

Alguem sabe porque esse erro acontece?

Obrigado.

2 Respostas

J

Pessoal,

Ainda não consegui resolver, vou postar mais algumas informações, talvez fique mais facil de alguem me ajudar…

Não sei que objeto está null para dar esse erro… ao debugar, todos os atributos da minha classe estão devidamente instanciados…

O método salvar retorna uma String, no caso “ok”, não existe a página salvar.ok.jsp, então, no caso, era para direcionar para direcionar para index.ok.jsp, certo? (bom, em outros casos aqui funciona assim :)).

Se eu criar salvar.qualquercoisa.jsp e no método retornar “qualquercoisa”, funciona.
Dai em salvar.qualquercoisa.jsp tenho que direcionar para cliente.index.logic (fase o que né :()

Mesmo se eu criar a página salvar.ok.jsp em branco, só html, dá o mesmo erro.

Alguém sabe o está acontecendo? Estou começando com vRaptor agora e to meio confuso com isso!

Obrigado!

J

Bom, como era de se esperar foi um erro meu mesmo, e bem tonto.

no arquivo de configuração views.properties o parametro de redirecionamento para cliente.salvar.ok estava passando um parametro null !!
ex.: cliente.salvar.ok=redirect:cliente.index.logic?parametros.id=${parametros.id}

no caso, o parametros.id estava null ! :smiley:

abraços…

Criado 2 de setembro de 2008
Ultima resposta 3 de set. de 2008
Respostas 2
Participantes 1