SelectOneMenu Nulo

3 respostas
L

Boa tarde pessoal, estou me matando tentando fazer um SelectOneMenu carregar nulo.

Nele tenho o sequinte codigo:

<p:selectOneMenu id="departamento" value="#{equipamentoBean.equipamento.localizacao.departamento}"> <f:selectItem itemLabel="Selecione um departamento "/> <f:selectItems value="#{departamentoBean.departamentoSelect}"/> </p:selectOneMenu>

Quando seleciono um usuário que tem um departamento vinculado carrega o objeto do departamento corretamento. Quando não tenho um departamento vinculado ao usuário, gostaria que meu combo selecionasse a primeira opção que eu entendo ser a nula (Selecione um departamento). Porém não estou conseguindo isso. Quando clica para editar um usuário que não tem departamento a tela de edição não abre corretamento, olhei no log e o erro é :

GRAVE: javax.el.PropertyNotFoundException: /restrito/equipamento_edicao.xhtml @68,98 value="#{equipamentoBean.equipamento.localizacao.departamento}": Target Unreachable, ‘localizacao’ returned null

Por favor me ajudem.

Abs a todos

Lucas Almeida

3 Respostas

P

Tenta Assim.

vc tem que criar uma variavel do seu objeto e setar o que vc quer mandar no item value, no item label e o que vc vai exibir no combo

<p:selectOneMenu value="#{equipamentoBean.equipamento.localizacao.departamento}" 
				      style="width: 250px;"
					 immediate="true">
		<f:selectItem itemLabel="Selecione o procedimento"
					 itemValue="" />
		<f:selectItems value="#{departamentoBean.departamentoSelect}"
					 var="localizacao" itemLabel="#{localizacao.atributo}"
					 itemValue="#{localizacao.atributo}" />

		</p:selectOneMenu>
L

Boa tarde pauser2200, obrigado pela ajuda…

mais percebi que o erro era outro…

no botão editar fiz uma verificação pra ver se o meu objecto estava nulo, dai instanciei um novo objeto.

public void editar(){
		if (this.equipamento.getLocalizacao() == null) {
			this.equipamento.setLocalizacao(new Localizacao());
		}
}

Agora está funcionando uma beleza.

Até mais

P

BELE

Criado 6 de março de 2012
Ultima resposta 8 de mar. de 2012
Respostas 3
Participantes 2