Problema com Objeto em SelectManyCheckbox

Saudações!

Já quero esclarecer que procurei muito aqui pelo fórum, mas não consegui achar uma solução para o meu problema.

Estou usando JSF+PrimeFaces.
Aqui vai ele:

Tenho uma classe “Perfil” e uma outra “Tela”, em um relacionamento “N to N”.
Na classe “Perfil” tenho uma lista de “Telas”.

Quero adicionar, através de um formulário, as “Telas” nesta lista.

Pagina:

<h:outputText value="Telas Permitidas:" />
<p:selectManyCheckbox value="#{profileBean.selectedScreens}" layout="pageDirection" >
		<f:selectItems value="#{profileBean.screens}" var="scr" itemLabel="#{scr.name}" itemValue="#{src.class}" />  
</p:selectManyCheckbox>

List screens //carreda
List selectedScreens //para receber as telas escolhidas.

Porém ele da um erro, dizendo que “O valor não é valido”.

Alguma ajuda?

Obrigado :smiley:

Item value coloca itemValue="#{src}"

Opa,

Tava dando o erro “Valor não é valido”, pq eu tinha colocado “#{src.class}” e nao “#{scr.class}”.

Quando arrumei, ele da erro pois ele pega uma “string”, nao o objeto.

Mudei para “#{scr}”

Mas ele da o erro “Valor não é valido” tambem.

:S

Esse valor é uma classe que você criou? Se não for uma classe do Java ou Enum você precisa criar um converter: JSF: Converter e Bean Auto Complete.

Vlw cara pela ajuda.
Descobri 2 meneiras de resolver esse problema, evitando uma nova busca no Banco de Dados.

1- Criar um converter;
2- Pegar os ID’s selecionados, e percorrer a lista, pegando somente os objetos com os “IDs” selecionados