help with JSF code

Asked

Viewed 47 times

1

In the system q being developed the registration part presents the following error when saving

/status/editaestado.xhtml @13,134 value="#{Estadocontrol.Estado.nome}": Target Unreachable, Identifier 'Estadocontrole' resolved to null

value path is correct and even then it doesn’t work what to do ?

Code of the registration page

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"          
  xmlns:p="http://primefaces.org/ui"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
<ui:composition template="/index.xhtml">
    <ui:define name="body">
        <h:form>
            <p:growl autoUpdate="true" />
            <p:panelGrid columns="2">
                Nome:<p:inputText value="#{EstadoControle.Estado.nome}" required="true" requiredMessage="O nome é obrigatório!"/>
                UF:<p:inputText value="#{EstadoControle.Estado.uf}"  required="true" requiredMessage="A sigla é obrigatório!"/>
                <p:commandButton value="Salvar" actionListener="#{EstadoControle.salvar()}" action="listaestado" ajax="false"/>
                <p:commandButton value="Cancelar" action="listaestado" immediate="true" ajax="false"/>
            </p:panelGrid>            
        </h:form>
    </ui:define>
</ui:composition>

Code of the state control

package controle;

import entidade.Estado;
import facade.EstadoFacade;
import java.io.Serializable;
import java.util.List;
import javax.enterprise.context.SessionScoped;
import javax.inject.Inject;
import javax.inject.Named;

/**
 *
 * @author Xandy
 */
@Named
@SessionScoped
public class EstadoControle implements Serializable {

    @Inject
    private EstadoFacade estadoFacade;
    private Estado estado;

    public void novo(){
        estado = new Estado();
    }

    public void excluir(Estado e){
        estadoFacade.excluir(e);
    }

    public void editar(Estado e){
        this.estado = e;
    }

    public void salvar() {
        estadoFacade.salvar(estado);
    }

    public List<Estado> listaTodos() {
        return estadoFacade.listaTodos();
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

}

Code of the status entity class

package entidade;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

/**
 *
 * @author Xandy
 */
@Entity
public class Estado implements Serializable, EntidadePai {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String nome;
    private String uf;

    public String getNome() {
        return nome;
    }

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

    public String getUf() {
        return uf;
    }

    public void setUf(String uf) {
        this.uf = uf;
    }


    @Override
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

1 answer

0


Change your code to:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"          
  xmlns:p="http://primefaces.org/ui"
  xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
   <ui:composition template="/index.xhtml">
     <ui:define name="body">
       <h:form>
        <p:growl autoUpdate="true" />
        <p:panelGrid columns="2">
            Nome:<p:inputText 
             value="#{estadoControle.estado.nome}" 
             required="true" 
             requiredMessage="O nome é obrigatório!"/>
            UF:<p:inputText 
             value="#{estadoControle.estado.uf}" 
             required="true" 
             requiredMessage="A sigla é obrigatório!"/>
            <p:commandButton value="Salvar" 
             actionListener="#{estadoControle.salvar()}" 
             action="listaestado" 
             ajax="false"/>
            <p:commandButton value="Cancelar" action="listaestado" 
             immediate="true" ajax="false"/>
        </p:panelGrid>            
    </h:form>
  </ui:define>
</ui:composition>
  • continues to give the following error --> /status/editinclude.xhtml @15,66 value="#{statutControl.estado.name}": Target Unreachable, 'state' returned null

Browser other questions tagged

You are not signed in. Login or sign up in order to post.