Java.lang.NullPointerException

Olá pessoal gostaria de saber se faz sentido isso:

	<h:selectOneMenu value="#{contextoBean.contaAtiva.conta}"
				valueChangeListener="#{contextoBean.setContaAtiva}"
				rendered="#{empty contaBean.lista}"
				onchange="submit()">
				<f:selectItems value="#{contaBean.lista}" 
					var="conta" itemValue="#{conta.conta}" itemLabel="#{conta.descricao}"/>
	</h:selectOneMenu>

Esse menu só seria renderizado se tivesse algo dentro do contaBean.lista cujo método:

	public List<Conta> getLista(){
		if(this.lista == null){
			ContextoBean contextoBean = ContextoUtil.getContextoBean();
			
			ContaRN contaRN = new ContaRN();
			this.lista = contaRN.listar(contextoBean.getUsuarioLogado());
		}
		
		return this.lista;
	}

Até ai tudo bem mas quando vou entrar na página do úsuario ele me lança java.lang.NullPointerException, eu acho que não deveria haver essa exception nesse caso pelo fato de não tentar utilizar os dados da lista por não ter renderizado.

Alguém tem alguma dica ?

você esqueceu de colocar a negação no renderer

rendered="#{!empty contaBean.lista}" 

Mas não é se tiver empty ela deveria renderizar se tivesse diferente de empty não deveria por estar sem nada?

???
não entendi nada! explica melhor

É rapaz, esse NullPointerException é um atoa… Sempre aparece onde não é chamado… -_-’’

Faz um favor? Coloca o erro aí.

HAHAHAHA ja pósto

java.lang.NullPointerException
	at financeiro.web.ContaBean.getLista(ContaBean.java:46)
	at sun.reflect.GeneratedMethodAccessor207.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
	at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
	at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:116)
	at com.sun.el.parser.AstValue.getValue(AstValue.java:163)
	at com.sun.el.parser.AstEmpty.getValue(AstEmpty.java:62)
	at com.sun.el.parser.AstNot.getValue(AstNot.java:59)
	at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:219)
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109)
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:193)
	at javax.faces.component.UIComponentBase.isRendered(UIComponentBase.java:422)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1668)
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:854)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1674)
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1677)
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:399)
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131)
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:509)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:344)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:110)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:98)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:95)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:79)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:120)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:55)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:36)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:188)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:106)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:80)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:356)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:150)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:237)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:35)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:722)

???
não entendi nada! explica melhor[/quote]

Acontece assim amigo, eu quero mostrar quando tiver itens na lista, quando não tiver eu não quero que mostre, essa seria uma maneira de ele não tentar utilizar a lista quado ela estivesse vazia compreende.

O que tem nessa linha?
at financeiro.web.ContaBean.getLista(ContaBean.java:46)

Tenho meu meto que pega uma conta através do usuário que está logado na sessão

	public List<Conta> getLista(){
		if(this.lista == null){
			ContextoBean contextoBean = ContextoUtil.getContextoBean();
			
			ContaRN contaRN = new ContaRN();
			this.lista = contaRN.listar(contextoBean.getUsuarioLogado());
		}
		
		return this.lista;
	}

[quote=Mathe] Tenho meu meto que pega uma conta através do usuário que está logado na sessão

[code]
public List getLista(){
if(this.lista == null){
ContextoBean contextoBean = ContextoUtil.getContextoBean();

		ContaRN contaRN = new ContaRN();
		this.lista = contaRN.listar(contextoBean.getUsuarioLogado());
	}
	
	return this.lista;
}

[/code][/quote]Tá, mas qual é a linha 46?

A linha 46 é essa

	this.lista = contaRN.listar(contextoBean.getUsuarioLogado());

Blz, esse cara está null contextoBean (creio ser ele e não o usuarioLogado).

Já olhou por que o método (ContextoBean contextoBean = ContextoUtil.getContextoBean():wink: está voltando null?

Sim, por que ele não tem nenhuma conta bancaria registrada na tabela conta_bancario, mas acontece o seguinte ele não deveria estar lançando a exception porque no jsf eu pesso para ele ver se a lista está nula, e então se não estiver usá-la, por isso acho que não esta fazendo sentido.

[quote=Mathe] Sim, por que ele não tem nenhuma conta bancaria registrada na tabela conta_bancario, mas acontece o seguinte ele não deveria estar lançando a exception porque no jsf eu pesso para ele ver se a lista está nula, e então se não estiver usá-la, por isso acho que não esta fazendo sentido.[/quote]Não estou falando do listar…

Faz o seguinte, faz um debug e veja quem está null. Acho que você esta confundindo as coisas… Eu já até dei a dica de quem está null…

Eu colei os imports da classe ContextoUtil ai refiz todos os imports, com a classe javax.faces.context.FacesContext deu certo vlw ai.