Problemas ao tentar recuperar os valores de um SelectItems

Bom dia pessoal,

estou com um problema a seguir:

eu tenho uma pick lista desta forma:


  <rich:pickList id="listaPick" value="#{cadastrarConvenio.listarSelecionados}" copyAllControlLabel="inserir todos" copyControlLabel="inserir" removeControlLabel="remover" removeAllControlLabel="remover todos"> 
           			    <rich:selectItems value="#{cadastrarConvenio.listarTodos}"/>
							<a4j:support event="onlistchanged" reRender="result"/>
       				  </rich:pickList>

Dae quando a pessoa seleciona os valores desejados, eu tento pegar esses valores como String e tento inseri-los numa busca conforme codigo abaixo:



/**
		 * procurar os setores selecionados pelo usuario dentro do picklist e retornar os códigos deles
		 * para serem inseridos na tabela intermediária
		 * 
		 */
		Setor setorTeste = new Setor();
		
		for (SelectItem listaSelecionada : listarSelecionados) {
			
			String selectItem =  listaSelecionada.getValue().toString(); // tenta converter selectItem em String
			
			setorTeste = setorDAO.listarSetores(selectItem);
			
			System.out.println(setorTeste.getDsSetor());
			
		}

Porém da um erro do tipo:


java.lang.ClassCastException: java.lang.String cannot be cast to javax.faces.model.SelectItem

Ou seja, diz "não pode ser feito cast de Select to STring …

como eu vou resolver isso?

Me falaram que o SelectItems do tomahawk iria me ajudar… mas até o momento nada…

alguém pra me dar uma força ?

bem, vou ti mostrar um exemplo que fiz com jsf + facelets:

<input jsfc="h:selectOneMenu" id="tipo" value="#{controlerUs.usuario.tipo}"> <f:selectItem itemLabel="Usuário" itemValue="Usuario"/> <f:selectItem itemLabel="Administrador" itemValue="Administrador"/> </input>

Como será apenas 1 valor a variavel tipo é uma String e o valor será armazenado nela, dai eu posso acessar via getTipo() por exemplo e usar em outro local para fazer a busca, desde que o objeto que chame getTipo() seja o mesmo que gravou o valor.

{controlerUs.usuario.tipo}

espero ter ajudado em algo.
flw!

Mas bem, no seu caso a variavel “tipo” é String, e no meu caso o array que vem é do tipo SelectItems.

Existe uma pequena diferença.

No meu caso eu tento jogar em uma busca que recebe String um valor de SelectItem e isso, não está funcionando.

:frowning: