Target Unreachable, 'tabperitosPK' returned null]

1 resposta
Matheus_Paiva

Tenho uma aplicação web que está dando esse erro ...
Em outros posts daqui do forum vi que esse erro é comum quando não se instancia a classe ...
Mas eu instancio a class no construtor do meu mb ....
E mesmo assim o erro persiste ...

public class AgendaPeritoMB {
private Tabagendaperito agendaPerito;
private List<Tabagendaperito>agendaPeritoList;
private TabperitosPK tabPeritos;
    public AgendaPeritoMB() {
        this.agendaPerito=new Tabagendaperito();
       this.tabPeritos=new TabperitosPK();
      
       
    }
//gets e sets omitidos
//outros metodos omitidos ...
public class AreaPeritoMB {
    private Tabareaperito areaPerito;
    private List<SelectItem> selectItems;
    private List<Tabareaperito> areaPeritoList;
   
private TabperitosPK  tabPeritos;

    public AreaPeritoMB() {
     
     this.areaPerito=new Tabareaperito();
     fillSelectItems();
    this.tabPeritos =new TabperitosPK();
    
    }
gets e sets omitidos 
outros  metodos omitidos tb
public class PeritoMB {

    /**
     * Creates a new instance of PeritoMB
     */
    private Tabagendaperito agendaPerito;
   
    private Tabareaperito  areaPerito;
    private Tabperitos perito ;
    private List<Tabperitos> peritos;
    private List<SelectItem> selectItems;
    private TabperitosPK tabPeritos;
private List<SelectItem>selectItemsAreaPerito;
    
public PeritoMB() {
     this.tabPeritos=new TabperitosPK();
     this.perito=new Tabperitos();
     fillSelectItems();  
     
     
    }
gets e sets omitidos e metodos posteriores tb ....

As minhas classes foram geradas pelo netbeans com o banco ...
Nesse projeto tenho uma classe com uma chave primaria composta ...

@Embeddable
public class TabperitosPK implements Serializable {
    @Basic(optional = false)
    @Column(name = "AreaPerito")
    private String areaPerito;
    @Basic(optional = false)
    @Column(name = "Nome")
    private String nome;

    public TabperitosPK() {
    }

    public TabperitosPK(String areaPerito, String nome) {
        this.areaPerito = areaPerito;
        this.nome = nome;
    }

    public String getAreaPerito() {
        return areaPerito;
    }

    public void setAreaPerito(String areaPerito) {
        this.areaPerito = areaPerito;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (areaPerito != null ? areaPerito.hashCode() : 0);
        hash += (nome != null ? nome.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof TabperitosPK)) {
            return false;
        }
        TabperitosPK other = (TabperitosPK) object;
        if ((this.areaPerito == null && other.areaPerito != null) || (this.areaPerito != null && !this.areaPerito.equals(other.areaPerito))) {
            return false;
        }
        if ((this.nome == null && other.nome != null) || (this.nome != null && !this.nome.equals(other.nome))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "VO.TabperitosPK[ areaPerito=" + areaPerito + ", nome=" + nome + " ]";
    }
    
}
Parte onde aponta o erro
<tr><td>
           <label for="nomePeritoAgendaSegunda">Nome:</label>
             </td><td>
                 <h:selectOneMenu id="nome_perito_agenda_segunda" value="#{ peritoMB.perito.tabperitosPK.nome}">
              <f:selectItems value="#{peritoMB.selectItems}" />
                                   </h:selectOneMenu>              
                         </td></tr>
Meu faces config
<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
    <managed-bean>
        <managed-bean-name>usuarioMB</managed-bean-name>
        <managed-bean-class>MB.UsuarioMB</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <managed-bean>
        <managed-bean-name>loginMB</managed-bean-name>
        <managed-bean-class>MB.LoginMB</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <managed-bean>
        <managed-bean-name>peritoMB</managed-bean-name>
        <managed-bean-class>MB.PeritoMB</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
        <from-view-id>/index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>Sucesso</from-outcome>
            <to-view-id>/retorno_index.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <navigation-rule>
        <from-view-id>/retorno_index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>entrar</from-outcome>
            <to-view-id>/principal.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <managed-bean>
        <managed-bean-name>areaPeritoMB</managed-bean-name>
        <managed-bean-class>MB.AreaPeritoMB</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
        <from-view-id>/cadastrar_perito.jsp</from-view-id>
        <navigation-case>
            <from-outcome>listar</from-outcome>
            <to-view-id>/listar_perito.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
    <managed-bean>
        <managed-bean-name>agendaPeritoMB</managed-bean-name>
        <managed-bean-class>MB.AgendaPeritoMB</managed-bean-class>
        <managed-bean-scope>request</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
        <from-view-id>/agenda_perito.jsp</from-view-id>
        <navigation-case>
            <from-outcome>buscar</from-outcome>
            <to-view-id>/listar_agenda_perito.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
</faces-config>

1 Resposta

Matheus_Paiva

Utilizo jpa 1.0 jsf 1.2 rodando no tomcat 7.0.27.0 richfaces 3.0

Criado 2 de outubro de 2012
Ultima resposta 2 de out. de 2012
Respostas 1
Participantes 1