JSF 2 h:dataTable,其inputText值绑定到List。值不更新

时间:2015-05-13 06:27:56

标签: jsf datatable jsf-2.2

我正在尝试通过数据表显示bean中包含的List中的数据,并在用户键入时按代码执行操作。它最初显示正常,对List的更改将反映在UI中。

我的问题是输入inputText的值会被忽略。尝试寻找解决方案,我已经尝试检查列表更改的值,并尝试在没有ajax的情况下检查是否是问题(没有更改)。尝试过使用session并查看scoped bean没有运气。尝试将字符串包装在POJO中。

在这里发疯觉得我错过了一些明显的东西。有什么想法吗?

        <h:dataTable id="multioptionanswers"
            value="#{multiTextBean.texts}" var="texts">
            <h:column>
                <f:facet name="header">
                    <h:outputText value="Enter Values"></h:outputText>
                </f:facet>
                <h:inputText value="#{texts}" immediate="true">
                        <f:ajax event="blur" execute=":addgroup"
                        render=":addgroup"
                        listener="#{multiTextBean.update}" />
                </h:inputText>
        </h:column>
    </h:dataTable>

** addgroup是数据表所在的面板组。

1 个答案:

答案 0 :(得分:0)

完成后,需要更改inputtext如何读取数据。以下解决方案,以防有人帮助:

<h:dataTable id="multioptionanswers" binding="#{table}"
                value="#{multiTextBean.texts}" var="texts">
                <h:column>
                    <f:facet name="header">
                        <h:outputText value="Enter Values"></h:outputText>
                    </f:facet>
                    <h:inputText 
                        value="#{multiTextBean.texts[table.rowIndex]}">
                        <f:ajax event="blur" execute=":addgroup"     render=":addgroup"
                        listener="#{multiTextBean.update}" />
                </h:inputText>    
            </h:column>
            </h:dataTable>