SelectOneMenu do primeFaces - falha ao selecionar item

5 respostas
prog.tiago

Bom dia queridos amigos,

Estou tentando criar combos em cascata com PrimeFaces, primeiro o usuário seleciona a faculdade, depois o curso depois a disciplina.

No primeiro combo, utilizando SelectOneMenu, quando o método do bean é disparado, mas ele não consegue capturar devidamente o valor selecionado no menu. Estanho, porque quando analiso o console, às vezes funciona e carrega e outras vezes não.

Vejam meu código:

<h:outputText value="Faculdade: " />
				<p:selectOneMenu style="width:300px"
					onchange="this.form.submit();" effect="clip"
					value="#{assistenteCredInstitucionalBean.faculdade.nome}"
					valueChangeListener="#{assistenteCredInstitucionalBean.faculdadeSelecionado}">
					<f:selectItem itemLabel="Selecione uma faculdade" itemValue=""  />
					<f:selectItems
						value="#{assistenteCredInstitucionalBean.listaFaculdades}"
						var="fac" itemLabel="#{fac.nome}" itemValue="#{fac}" />
				</p:selectOneMenu>

Bean

public void faculdadeSelecionado(ValueChangeEvent event) {
		System.out.println("A faculdade selecionada é: "+ faculdade.getNome());
		listaCursos = new FaculdadeService()
				.listarCursosDeFaculdade(this.faculdade);

}

Agradeço qualquer ajuda

Abraços

5 Respostas

GiulianoGagliardi

E ae Tiago tudo bom?

Cara, tenho um exemplo prático que utilizei no meu sistema, ve se te ajuda…



<h:outputText value="#{msgs.setor}" />
<div class="text">
        		<p:selectOneMenu value="#{regraMB.voSegSetor.id}" effect="fade" style="width: 200px;" tabindex="1">
					<f:selectItems value="#{regraMB.listaSetores}" />
					<p:ajax event="change" listener="#{regraMB.populaSistemas}" update="selecionaSistemaRU " />
				</p:selectOneMenu>
			</div>
        		
       	</div></blockquote>

Aonde:
–> regraMB.listaSetores é um List contendo meus setores
–> regraMB.populaSistemas é o método que através do id do setor selecionado busca os sistemas daquele setor e atualiza o outro selectOneMenu chamado selecionaSistemaRU

prog.tiago

Olá Giuliano, obrigado

Funcionou, mas estranho é que analisando o meu bean:
public void faculdadeSelecionado(AjaxBehaviorEvent event) {
		System.out.println("A faculdade selecionada é: "+ faculdade.getNome());
		listaCursos = new FaculdadeService()
				.listarCursosDeFaculdade(this.faculdade);

	}

Eu peço para imprimir o nome da faculdade, e sempre é impresso: A faculdade selecionada é null, teoricamente não deveria carregar a lista tendo que a faculdade é null.

Por que? Será que tem a ver com o escopo do bean? Está configurado para RequestScope.

P

O item value tem que ter o nome da propriedade

K

cara esse itemvalue ta aonde?
mostra a implementacao ae

david_ware

Olá prog.tiago

Consegui resolver o problema do objeto com valor nulo?

Abraço

Criado 13 de fevereiro de 2012
Ultima resposta 1 de nov. de 2012
Respostas 5
Participantes 5