JSF gravar com datatable

1 resposta
alanblins

Pessoal. Estou desenvolvendo uma página que exibe uma datable, cada linha contem um checkbox e um inputtext e selectOneMenu. Apenas as linhas que forem marcadas no checkbox serão gravadas. Todas as informações que envio são gravadas, excetos aquelas que possuem a tag inputText.

<t:dataTable  value="#{campo.campoEncontrados}" var="item" border="0" cellpadding="2" cellspacing="0" >
                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="Id"/>
                            </f:facet>
                            <t:selectBooleanCheckbox value="#{item.selected}" />
                        </t:column>

                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="Nome"/>
                            </f:facet>
                            <t:subform id="subFormId">
                                <t:inputText value=" #{item.campo.nome}" maxlength="20" />
                            </t:subform>
                            
                        </t:column>

                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="Posicaoinicial"/>
                            </f:facet>
                            <t:outputText value=" #{item.campo.posicaoinicial}"/>
                        </t:column>

                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="posicaofinal"/>
                            </f:facet>
                            <t:outputText value=" #{item.campo.posicaofinal}"/>
                        </t:column>

                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="Tipodedado"/>
                            </f:facet>
                            <t:selectOneMenu id="Tipodedado" value="#{item.campo.tipodedado}" title="Tipodedado">
                                <f:selectItems value="#{campo.tipodedadosDisponiveis}" />
                            </t:selectOneMenu>
                        </t:column>

                        <t:column>
                            <f:facet name="header">
                                <t:outputText value="Significado"/>
                            </f:facet>
                            <t:selectOneMenu id="Significado" value="#{item.campo.significado}" title="Significado">
                                <f:selectItems value="#{campo.significadosDisponiveis}" />
                            </t:selectOneMenu>

                        </t:column>

                    </t:dataTable>

<t:commandLink value="Salvar campos" action="#{campo.saveAllSetup}" actionFor="subFormId" />

Envio todos esses valores para o bean e as capturo atraves do metodos getDataWarapped();
Alguem sabe me dizer pq não consigo enviar os valores pelo inputText??

1 Resposta

Marlon_Meneses

é por que qndo vc faz getDataWarapped() vc esta pegando o OBJETO inputText e nao o valor contido nele
entao eu acho que vc vai precisar fazer o seguinte:
no seu backbean crie um objeto do tipo HtmlInputText do pacote javax.faces.component.html e entao faça campoTexto.getValue()
acho q resolve

Criado 26 de novembro de 2009
Ultima resposta 26 de nov. de 2009
Respostas 1
Participantes 2