Primefaces <p:inplace>使用ArrayList中的字符串填充的文本字段,而不是使用Ajax保存在表中更新

时间:2015-07-20 18:21:41

标签: jsf primefaces

我有一个带有<p:inplace><p:inputText>的数据表,我从ArrayList填充了Strings。更新值后,我无法保存它,它只是恢复为原始值。

这是xhtml:

<p:panel styleClass="center" id="opPanel">
    <h:outputText value="Add Operations" />
    <p:dataTable id="ops" value="#{editServiceBean.ops}" var="op">
        <p:column headerText="Operations">
            <p:inplace editor="true" emptyLabel="">
                 <p:inputText id="operations" value="#{op}" />
                 <p:ajax event="save" update="dataForm:opPanel, dataForm:edit, dataForm:ops, ops:operations" />
            </p:inplace>
        </p:column>
    </p:dataTable>
</p:panel>

“ops”只是字符串的ArrayList,因此var“op”只是字符串中的一个。

1 个答案:

答案 0 :(得分:0)

在此示例中,您无法使用字符串列表。字符串是不可变的,这导致inputText无法设置项目的值。

创建一个包含String作为项目列表的包装类。