[Resolvido até que enfim :-)] Duvida

Pessoal , estou a dias com um grande problema, preciso encontrar uma maneira de solucionar e conto com a ajuda de vocês.

Possuo um dataTable

[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  value="#{name.id}"  />
                                        </h:column>
                                        
                                        <h:column>
                                            <f:facet name="header">
                                                <h:outputText value="Nome"></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]

Neste dataTable possuo um elemento <h:selectBooleanCheckbox value="#{name.id}" /> preciso recuperar em meu bean os checkboxes selecionados, como eu poderia recuperar este valor e passa-lo para um ArrayList? Se alguem poder ajudar, me indicar algum artigo, revirei a net procurando algo sobre, mas nao encontrei,vi que esta é uma duvida da maioria dos iniciantes. Por favor me ajudem. Obrigado

http://blogs.sun.com/winston/entry/multiple_selection_table1
isto pode te ajudar… eh para woodstock, nao seis e havera algum impecilo por causa disso

Pesoal, vou postar aqui no GUJ a solução, visto que vi que tem muita gente passar por este problema. O blog no qual consegui a solução foi em

http://blogs.sun.com/basler/entry/jsf_1_2_checkbox_in

Meu dataTable ficou da seguinte forma

[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>
                                            
                                           <input type="checkbox" name="mapSelectedItems" value="<h:outputText  value='#{name.id}'/>"/>    
                                        </h:column>
                                        
                                        <h:column>
                                            <f:facet name="header">
                                                <h:outputText value="Nome"></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]

Faces Config

<managed-bean> <managed-bean-name>MapBean</managed-bean-name> <managed-bean-class> controle.ControlePlano </managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean>

e meu metodo que me retorna uma String[] com os valores que foram selecionados para a exclusão

[code]public String delete() {

    FacesContext context = FacesContext.getCurrentInstance();
    ValueExpression vex = context.getApplication().getExpressionFactory().
    createValueExpression(context.getELContext(), "#{paramValues.mapSelectedItems}", String[].class);

    String[] itemx = (String[]) vex.getValue(context.getELContext());
    
    if (itemx != null) {
        itemIds = itemx;
    }
    for(String obj: itemx)
    {
        System.out.println(obj);
    }
    return "del";
}[/code]

:smiley: :smiley: :smiley:

Uma solução que uso muito, é criar uma classe de interface, com um atributo boolean que servirá para controlar o seu selectBooleanCheckbox e o outro atributo seria uma classe por exemplo que encapsula o id, nome e o valor conforme postou o seu datatable.

Na classe que controla sua jsp vc cria uma lista dessa classe de interface, referencia o datatable a essa lista, e vai criando as referencia dos componentes de todos os elementos do datatable conforme a classe de interface.