JSF, que erro é esse?

5 respostas
rbroz85

Bom dia senhores,

estou fazendo uma app em jsf…
tenho uma datatable dentro de um form, quando eu envio o form… blz ta chegando no meu managedbean meu List modificado… entao… :

public String salvarEquip(){ System.out.println("Entrei no salvarequip"); salvaLista.salvaList(listaEquip,ufId); return "equip"; }

public static void salvaList(List theList,int ufId){ List thelistDois = theList; theObject myOb; System.out.println("a lista tem: "+thelistDois.size()+" itens, no estado: "+ufId); for(int i=0;i<thelistDois.size();i++){ myOb = (theObject)thelistDois.get(i); if(!myOb.getPrecoAtual().equals("")) System.out.println("changed > "+i); } }

quando… eu executo com esse for logo acima da o seguinte erro:

exception

javax.servlet.ServletException: #{equipBean.salvarEquip}: javax.faces.el.EvaluationException: java.lang.NullPointerException
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

qunado eu tiro esse for… ele funciona tranks… mas pow…
nao tem sentido isso pra mim… alguem poderia m explicar.

tem alguma coisa errada na minha logica??
porfavor… alguem pode me ajudar nisso ??
mt grato

5 Respostas

Alexandre_Vilas_Boas

Oi rbroz85

1 - provavelmente “theList” não foi inicializado (new List()) mas não da pra afirmar, falta vc colocar o codigo do ManagedBean e full stackTrace

2 - pra que serve “theListDois” pelo que vi no codigo voce nao precisa dele

rbroz85
opa blz: segue
/*
 * materBean.java
 *
 * Created on 17 de Julho de 2007, 20:21
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package Beans;

import Control.consultaEquip;
import Control.salvaLista;
import Model.theObject;
import java.util.List;

/**
 *
 * @author Rafael
 */
public class equipBean {
    
    public List listaEquip;
    public int ufId = 1;
    /** Creates a new instance of materBean */
    public equipBean() {
    }

    public void setUfId(int ufId) {
        this.ufId = ufId;
    }

    public int getUfId() {
        return ufId;
    }

    public List getListaEquip() {
        ufId = Integer.parseInt(estadoBean.estado);
        System.out.println("estado corrente id: "+ufId);
        listaEquip = new consultaEquip().recuperaAll(ufId);
        return listaEquip;
    }
    
    public String salvarEquip(){
        System.out.println("Entrei no salvarequip");
        salvaLista.salvaList(listaEquip,ufId);
        return "equip";
    }
}
salvaLista.class
public static void salvaList(List theList,int ufId){
        
        System.out.println("a lista tem: "+theList.size()+" itens, no estado: "+ufId);
        theObject myOb;
        for(int i=0;i<theList.size();i++){
            myOb = (theObject)theList.get(i);
            if(!myOb.getPrecoAtual().equals(""))
                System.out.println("changed > "+i);
        }

    }
full:
22/07/2007 13:16:45 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Faces Servlet threw exception
javax.faces.FacesException: #{equipBean.salvarEquip}: javax.faces.el.EvaluationException: java.lang.NullPointerException
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
        at javax.faces.component.UICommand.broadcast(UICommand.java:312)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
        at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:619)
Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
        at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
        ... 24 more
Caused by: java.lang.NullPointerException
        at Control.salvaLista.salvaList(salvaLista.java:31)
        at Beans.equipBean.salvarEquip(equipBean.java:46)
        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 com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
        ... 25 more
davidbuzatto

[size=18]java.lang.NullPointerException[/size]

Você está tentando acessar um referência nula… Revisa seu código…

Até mais!

rbroz85

putz nao to entendendo…
como pode estar nula… se quando eu envio ela pro meu equipBean.class
ele sabe o tamanho da lista… ou seja entao tem alguma coisa la dentro, certo?

nao to entendendo pq esta sendo nula… e eu nao to conceguindo ver o erro no meu app
=(

rbroz85

putz to ligado agora…
tipo eu tenho um list de 140 objs

que esta dentro de um data table… com limite de rows 10
e eu to dentro de um for que vai ate 140, ou seja, qunado ele chega no 11… ele da erro pois perde a referencia… pois eu mandei somente 10 objs pra lista…

mas pq entao a lista permaneceu com 140 de tamanho ??

Criado 22 de julho de 2007
Ultima resposta 22 de jul. de 2007
Respostas 5
Participantes 3