Property 'municipio' not found on type [RESOLVIDO]

6 respostas
V

Pessoal, estou com um problema que não estou conseguindo resolver por nada…

Tenho um objeto “empresa” que possui um objeto “municipio”.

Estou chamando dessa forma na minha view

<h:outputText value="Municipio:" />
				<t:panelGroup>
					<h:inputText value="#{empresaMb.empresa.municipio.idMunicipio}" size="1" />
					<h:inputText value="#{empresaMb.empresa.municipio.dsMunicipio}" size="8" disabled="true"/>
					<h:commandButton image="/images/btnPesquisar.jpg" 
						onclick="chamarModal(mpPesquisa, 500, 400, 100)" 
						></h:commandButton>
				</t:panelGroup>

No meu managed bean da empresa tenho um getter e um setter apenas para empresa.

Quando executo a pagina, está dando o seguinte erro:

Property ‘municipio’ not found on type br.com.eltecom.model.CtrlEmpresa

Na minha classe CtrlEmpresa existe o atributo “municipio” e o seu getter e setter

Alguem tem alguma idéia do que possa ser?

6 Respostas

A

Sim, o municipio NON EKZISTE! Ponto. Existe algum problema na assinatura do método de pegar municípios que não bate com a assinatura de javabeans.

Fi, sem passar código não tem como ser mais específico, mas isso é problema de pontinho, tenho certeza… Vai tomar um café, descansa e volta pra mesa que você acha o problema.

V

abmpicoli, vlw pela resposta.

Consegui resolver este problema. Apenas tirei a declaração do meu managed bean no faces-config e depois coloquei novamente. Funcionou.

Agora estou tendo um outro problema

Segue o erro:

‘#{empresaMb.empresa.municipio.idMunicipio}’ Target Unreachable, ‘municipio’ returned null

<h:outputText value="Municipio:" />  
                <t:panelGroup>  
                    <h:inputText value="#{empresaMb.empresa.municipio.idMunicipio}" size="1" />
                    <h:inputText value="#{empresaMb.empresa.municipio.dsMunicipio}" size="8" disabled="true"/>  
                    <h:commandButton image="/images/btnPesquisar.jpg"   
                        onclick="chamarModal(mpPesquisa, 500, 400, 100)"   
                        ></h:commandButton>  
                </t:panelGroup>

Segue abaixo o meu managed-bean da empresa

public class EmpresaMb implements InterfaceMbCadastro{
	
	private CtrlEmpresa empresa;
	private List<CtrlEmpresa> empresas;
	
	private long idEmpresaEscolhida;
	
	private List<SelectItem> items;
	
	public EmpresaMb() {
		empresas = new ArrayList<CtrlEmpresa>();
		
		empresa = new CtrlEmpresa();
		
		GeMunicipio cidade = new GeMunicipio();
		cidade.setIdMunicipio(1L);
		cidade.setDsMunicipio("testando");
		cidade.setIdIbge("");
		GeUf uf = new GeUf();
		uf.setDsUf("");
		uf.setIdUf("SP");
		cidade.setIdUf(uf);
		
		empresa.setMunicipio(cidade);
		
		empresa.setIdEmpresa(1L);
		
		setEmpresa(empresa);
		
		empresas.add(empresa);
		
		this.items = getLista();
				
		
	}
	
	public CtrlEmpresa getEmpresa() {
		if(empresa == null) {
			empresa = new CtrlEmpresa();		
		}
		return empresa;
	}

	public void setEmpresa(CtrlEmpresa empresa) {
		this.empresa = empresa;
	}

	public List<CtrlEmpresa> getEmpresas() {
		if(empresas == null) {
			empresas = new ArrayList<CtrlEmpresa>(); 
		}
		return empresas;
	}

	public void setEmpresas(List<CtrlEmpresa> empresas) {
		this.empresas = empresas;
	}

	
	
	public  List<SelectItem> getLista() {            
		List<SelectItem> lista = new LinkedList<SelectItem>();                     
	
		SelectItem item = new SelectItem("Empresa 1", null);
		
		lista.add(item);
		
		item = new SelectItem("Empresa 2", null);
		
		lista.add(item);
		
		return lista;
	}

	public List<SelectItem> getItems() {
		return items;
	}

	public void setItems(List<SelectItem> items) {
		this.items = items;
	}
	
	
}

Estou preenchendo o objeto municipio na mão para adicionar na empresa.

Alguma sugestão?

alves.Felipe

vc esta tentando pegar um atributo de municio, mas municio é null,

<h:inputText value="#{empresaMb.empresa.municipio.idMunicipio}" size="1" />

faz um new no municio…

V

Entao Felipe

Já havia feito isso antes, mas o erro continua

Olha só o construtor do meu managed-bean:

public class EmpresaMb implements InterfaceMbCadastro{
	
	private CtrlEmpresa empresa;
	private List<CtrlEmpresa> empresas;
	
	private long idEmpresaEscolhida;
	
	private List<SelectItem> items;
	
	public EmpresaMb() {
		this.items = getLista();
		
		empresas = new ArrayList<CtrlEmpresa>();
		
		empresa = new CtrlEmpresa();
		GeMunicipio m = new GeMunicipio();
		m.setIdMunicipio(1L);
		empresa.setIdMunicipio(m);
		
		empresas.add(empresa);
		
	}
}

Ta complicado viu…

alguma ideia pessoal?

Vlw

alves.Felipe

mas aqui esta assim: #{empresaMb.empresa.municipio.idMunicipio}
e no seu construtor não vi nenhum new Municipio, ou setMunicipio…
não seria assim: #{empresaMb.empresa.idMunicipio.idMunicipio} ?

V

Vlw pela atenção pessoal. Resolvi meu problema. Era uma falta de atenção minha.

Tinha um método que estava sendo chamado onde estava dando um new no objeto empresa mas não estava dando um new em municipio.

Acho que estou trabalhando d+… preciso tomar uns polivitamínicos… rsrs

Criado 26 de março de 2012
Ultima resposta 27 de mar. de 2012
Respostas 6
Participantes 3