Pessoal, estou desenvolvendo uma aplicação pequena com JSF e Hibernate, mais surgiu a dificuldade de capturar o id do cargo selecionado no selectOneListbox. Pesquisei bastante, fiz alguns exemplos q encontrei na internet, mais infelismente não consegui e estou pedindo a ajuda de vc´s.
O selectOneListbox é populado corretamente, só preciso msm o id do registro selecionado.
Tentei criar um Backbean (cargoBackbean) e tentei “associa-lo” ao componente (action="#{cargobean.capturaIdCargo}" ), mais com ctz esta “muito” errado.
Segue o código:
Classe: cargo.java
@Entity
public class cargo {
@Id
@GeneratedValue	
private Long id;
private String cargo;	
	
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}
public String getCargo() {
	return cargo;
}
public void setCargo(String cargo) {
	this.cargo = cargo;
}	
}
Classe: cargoDAO.java
public class cargoDAO {
private cargo cargo = new cargo();
public cargo getCargo() {
	return cargo;
}
private List listaCargos;
public List getLstCargos(){
	List<cargo> list = new cargoDAO().getCargosAll();
	listaCargos = new ArrayList();
	for(cargo c : list){
		SelectItem si = new SelectItem();
		si.setLabel(c.getCargo());
		si.setValue(c.getId().toString());
		listaCargos.add(si);
	}
	return listaCargos;
}
public void setListaCargos(List listaCargos) {
	this.listaCargos = listaCargos;
}
public List getListaCargos() {
	return listaCargos;
}
}
Classe: cargoBackbean.java
public class cargoBackbean {
private Session session;
private cargo cargo = new cargo();	
public cargo getCargo() {
	return cargo;
}
private Long idCargo;
public void setIdCargo(Long idCargo) {
	this.idCargo = idCargo;
}
public Long getIdCargo() {
	return idCargo;
}
public Long capturaIdCargo(){
	this.idCargo = cargo.getId();
	System.out.println("capturaIdCargo: " + idCargo);
	return idCargo;		
}
}
jsf:
<h:selectOneListbox id=“lstCargos” value="#{cargoDAO.cargo.cargo}">
<f:selectItems value="#{cargoDAO.lstCargos}"/>
</h:selectOneListbox>
<h:commandButton value=“Buscar Funcionário(s)” action="#{cargobean.capturaIdCargo}" />
Fico no aguardo da sugestão de vc´s.
Agradeço desde já.