Primefaces + JSF 2 (SelectOne) [RESOLVIDO]

Olá pessoal. Estou começando com JSF e Primefaces. Estou fazendo uma tela de cadastro de usuários, cada usuário está associado a um perfil. Na minha tela preciso de uma combo que liste os perfis cadastrados. Já consegui fazer com que a combo seja carregada com os valores da tabela de perfis mas não sei como fazer para pegar o valor escolhido após o usuário clicar no botão salvar.

Página

<h:outputText value="Perfil do usuário" styleClass="content" />
	<p:selectOneMenu effect="fade" panelStyle="width:150px" style="width:150px">  
        <f:selectItem itemLabel="Escolha um perfil" itemValue="" />  
        <f:selectItems value="#{userBean.listaDePerfil}" />    
</p:selectOneMenu> 

Bean

public List<SelectItem> getListaDePerfil() {  
	List<SelectItem> itens = new ArrayList<SelectItem>();
		
	RoleDelegate rd = new RoleDelegate();
		
	for (Role role : rd.listar()) {  
		itens.add(new SelectItem(role.getId(), role.getName())); 
	}  
		
return itens;  
}

Como ficaria o método para capturar o valor do perfil escolhido ?

Já pesquisei bastante a respeito do assunto mas não consegui encontrar uma solução para o problema, desde já agradeço a ajuda.

Abraço

olá, para pegar o valor é muito simples na definicao do seu selectOneMenu acrescenta a propriedade value que ira corresponder ao atriubuto no seu managed bean onde ira receber o valor ex:

<p:selectOneMenu effect="fade" panelStyle="width:150px" style="width:150px"  value="#{userBean.perfilSelecionado}">

pessoalmente prefiro utilizar os componentes do primefaces apenas quando os do proprio jsf não atendem, este caso em particular eu usaria a propria selectOneMenu do jsf.

agora uma dica pra você, desde o jsf 2.0 não é mais necessario você criar um List para popular uma selectOneMenu, vc poderia simplismente criar uma List e jogar diretamente na propriedade itemValue do selectItem.

e seu selectItens seria algo do tipo.

<f:selectItems value="#{userBean.listaDePerfil}" var="perf" itemValue="#{perf}" itemLabel="#{perf.name}" />   

Rogério, muito obrigado mesmo pela ajuda, funcionou perfeitamente. Puxa, perdi bastante tempo buscando a maneira certa de fazer :slight_smile: Agora, vou tentar implentar a recuperação dos dados, como posicionar a combo corretamente, de acordo com o retorno do banco ?

Olha, mais uma vez muito obrigado, show de bola !

Abraço