Pessoal estou com algumas duvidas em obter os dados selecionados pelo usuario em um formulario gerado pela dataTable …
Funciona assim … Imagina um cadastro de produtos, ex carros, que possuem opcionais (ex. motor, rodas, cor, etc), quando um usario escolhe um produto a lista d opcionais eh lida do BD e carragada para o usuario escolher quais ele quer no seu pedido, contudo nao sei como ler as checkbox que o usuarios selecionou, alguma sugestao? Tentei usar getRequestParameterValuesMap(), mas os nomes que a funcao me devolve sao muito estranhos (gerados pelo JSF suponho) …
Geracao da datatable
<h:form>
<p:messages id="msgs" showDetail="true"/>
<h:dataTable value="#{produtoBean.itens}" var="item" align="center">
<h:column>
<p align="center"><h:graphicImage library="figuras" name="#{item.icone}" /></p>
</h:column>
<h:column>
<p align="center"><f:facet name="header">Nome</f:facet></p>
#{item.nome}
</h:column>
<h:column>
<h:selectOneRadio >
<f:selectItem itemLabel="Sim" >
</f:selectItem>
<f:selectItem itemLabel="Nao" >
</f:selectItem>
</h:selectOneRadio>
</h:column>
</h:dataTable>
<h:commandButton action="#{carrinhoBean.teste}" value="teste"></h:commandButton>
</h:form>
Tentei ler assim
public void teste(){
FacesContext context = FacesContext.getCurrentInstance();
ExternalContext external = context.getExternalContext();
System.out.println(external.getRequestParameterValuesMap());
}
Alguma sugestao?