【问题标题】:JSF 2 h:dataTable with inputText values binded to List. Values not updating [duplicate]JSF 2 h:dataTable 与输入文本值绑定到列表。值不更新[重复]
【发布时间】:2015-05-13 06:27:55
【问题描述】:

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

我的问题是输入到 inputText 中的值被忽略了。尝试寻找解决方案,我尝试在值更改时检查列表,并且还尝试在没有 ajax 的情况下进行检查,以防出现问题(没有变化)。尝试过使用会话并查看作用域 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 是数据表所在的面板组。

【问题讨论】:

  • 您的 'h:datatable' 是否包含在 'h:form' 属性中?
  • id "addgroup" 属于哪个组件?
  • Thomas Schmidt --> 仅包含在面板组中。最初它是在面板组中的一个表单中,但这阻止了 ajax 被调用。不知道为什么,我知道表单中的表单是不好的。删除表单后,调用了 ajax 功能。
  • tt_dev --> addgroup 直接位于 h:body 下
  • 我已将面板组替换为表单,行为没有明显变化

标签: jsf datatable jsf-2.2


【解决方案1】:

解决了,需要更改输入文本读取数据的方式。下面的解决方案,以防它帮助某人:

<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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2011-08-04
    • 1970-01-01
    • 2021-02-16
    • 2011-07-28
    相关资源
    最近更新 更多