Jsf 具有inputText的可编辑数据表

Jsf 具有inputText的可编辑数据表,jsf,primefaces,Jsf,Primefaces,我想将inputText添加到我的数据表中。此inputText将用于添加新用户(姓名、角色、年龄)并将其保存到数据库中。我可以更新dataTable中的现有值。例如,假设我有这个数据表 我想做的是在单击按钮时将inputText字段动态添加到表的第一行。我填写要插入的值,然后单击保存按钮 我的想法是将editable=“true”添加到数据表中,并像这样使用和: <p:dataTable var="item" value="#{userControler.users}" editabl

我想将inputText添加到我的数据表中。此inputText将用于添加新用户(姓名、角色、年龄)并将其保存到数据库中。我可以更新dataTable中的现有值。例如,假设我有这个数据表

我想做的是在单击按钮时将inputText字段动态添加到表的第一行。我填写要插入的值,然后单击保存按钮

我的想法是将
editable=“true”
添加到数据表中,并像这样使用

<p:dataTable var="item" value="#{userControler.users}" editable="true">

    <p:column>
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{item.name}"/>
           </f:facet>
           <f:facet name="input">
                <p:inputText value="#{item.name}" style="width:100%"/>
           </f:facet>
        </p:cellEditor>
    </p:column>

   <p:column>
       <p:rowEditor  />
    </p:column>
</p:dataTable>

然后将新的epmty用户添加到我的列表中,刷新数据表,编辑新用户并将其保存到事件
rowEdit
。还有别的办法吗

因为我面临的问题是由于我的复合id。当我输入新值时,我不知道是否要更新或保存给定值。(假设复合id是Name和role。如果我想插入一个新值,然后我犯了一个错误并插入了一个现有值,那么我将得到一个更新,而不是一条错误消息)


希望我足够清楚。如果没有,我可以提供更多信息。谢谢。

我按照巴卢斯克的建议做了

<p:dataTable var="item" value="#{userControler.users}" editable="true">

    <p:column>
        <p:cellEditor>
            <f:facet name="output">
                <h:outputText value="#{item.name}"/>
           </f:facet>
           <f:facet name="input">
                <p:inputText value="#{item.name}" style="width:100%"/>
           </f:facet>
        </p:cellEditor>
           <f:facet name="footer">
              <p:inputText value="#{userControler.newUser.name}" />
           </f:facet>
    </p:column>

   <p:column>
       <p:rowEditor />
       <f:facet name="footer"><p:commandButton action="#{userControler.add}"/></f:facet>
    </p:column>
</p:dataTable>

很好