[duvida jsf iniciante] recuperar checkbox selecionados no bean

Pessoal, tenho a seguinte duvida, tenho uma listagem de planos e seleciono os mesmos por checkbox, como funciona meu sistema o usuário seleciona o plano e clica em editar ou excluir.

 <h:commandLink action="#{dados.recuperarPlano}" id="actEdit" styleClass="disable" onclick="edit('editPlano',this)" >Editar</h:commandLink> 

Ao clicar no link o form é executado e acionado o método recuperarPlano do meu bean, a duvida é como faço para recuperar no bean os valores que foram selecionados?

Alguem poderia me dar um exemplo?

Desde já agradeço.

Na tag do seu checkbox, a propriedade “value” tem estar uma propriedade do seu bean (que contenha get e set).
Dentro do seu método é só vc usar a propriedade do bean. Pq o jsf vai primeiro “setar” o valor antes de rodar o método. Ajudei??? 8)

sim, esta parte de como ele seta eu entendi, fiz isso no meu metodo cadastrar, é tranqüilo. Mas como fazer para recuperar varios valores, sei que devo usar um ArrayList, mas ai estou com duvidas de como deve ser implementado. :?

Vc cria uma propriedade tipo: “private List selectedItems” e na tag
<h:selectManyCheckbox value="#{seuBean.selectedItems}">
<f:selectItem itemLabel=“id” itemValue=“id” />…

Vc pode usar a tag <f:selectItems> e setar o binding para um List de SelectItem.

private List<SelectItens> selectItensTabela


public void carregaSelectItensTabela(){
        getSelectItensTabela().add(new SelectItem("",""));
        for(int i=0; i < getLocateTabelas().size(); i++){
          getSelectItensTabela().add(new SelectItem(getLocateTabelas().get(i).getCodigo(),getLocateTabelas().get(i).getCodigo() + " - " + getLocateTabelas().get(i).getDescricao()));
        }
    }


e na tag :

<f:selectItems value="#{sistema.selectItensTabela}" /> 

Os dados eu já estou trazendo perfeitamente, a minha duvida é como pegar os valores no bean.

Exemplo.

Preciso excluir todos os checkbox selecionados.

Como ficaria meu metodo de exclusao? está é a minha duvida.

Alguém? :roll:

Mostra como vc está fazendo. é dentro de uma dataTable?

Está dentro de um dataTable sim, segue abaixo o mesmo. Obrigado

[code] <h:dataTable id=“tabela” styleClass=“tableList” border=“1” value="#{dados.listaDePlano}" var=“name”>

                                        <h:column>
                                            <f:facet name="header">
                                                <h:outputText value="ID"></h:outputText> 
                                            </f:facet>
                                           
                                            <h:selectBooleanCheckbox  onclick="check(this)" value="#{name.nome}"/>
                                        </h:column>
                                        
                                        <h:column>
                                            <f:facet name="header">
                                                <h:outputText value="#{name.id}"></h:outputText> 
                                            </f:facet>
                                            <h:outputText value="#{name.nome}"/>
                                        </h:column>
                                        
                                        <h:column>
                                            <f:facet name="header">
                                                <h:outputText value="Valor"></h:outputText> 
                                            </f:facet>
                                            <h:outputText value="#{name.valor}">
                                                <f:convertNumber type="currency"/>
                                            </h:outputText>
                                        </h:column>
                                        
                                        
                                    </h:dataTable>[/code]

Olha isso que vc está fazendo eu faço diferente pq uso o Richfaces…
Mas acho que vc deveria criar uma propriedade do tipo boolean no seu objeto e este colocar na tag <h:selectBooleanCheckbox > aí no seu método vc daria um loop na List listaDePlano e aí identificava os que estãoi marcados como true e efetuava o método que vc quer.