Database 在JSF/Primefaces中提交数据表?

Database 在JSF/Primefaces中提交数据表?,database,jsf,primefaces,datatable,submit,Database,Jsf,Primefaces,Datatable,Submit,我正在使用jsf/primefaces、netbeans和tomcat开发一个web应用程序。 我有一个datatable,其中包含从另一个表加载的一些值和一些可编辑字段。我的问题是,在用户编辑此表之后,如何提交整个表,以便将其存储在数据库中,存储在新表中 <h:form id="form" prependId="false"> <h3>All of your Paddocks</h3>

我正在使用jsf/primefaces、netbeans和tomcat开发一个web应用程序。 我有一个datatable,其中包含从另一个表加载的一些值和一些可编辑字段。我的问题是,在用户编辑此表之后,如何提交整个表,以便将其存储在数据库中,存储在新表中

 <h:form id="form" prependId="false">

                    <h3>All of your Paddocks</h3>
                    <p:dataTable var="paddock" value="#{paddock.getfromPaddock()}" editable="true">
                        <p:ajax event="rowEdit" listener="#{paddock.onRowEdit}"  />
                        <p:ajax event="rowEditCancel" listener="#{paddock.onRowCancel}"  />
                        <p:column headerText="Id">
                            <h:outputText value="#{paddock.idPaddock}" />
                        </p:column>

                        <p:column headerText="Name">
                            <h:outputText value="#{paddock.name}" />
                        </p:column>

                        <p:column headerText="Area">

                                 <h:outputText value="#{paddock.area}" />


                        </p:column>

                        <p:column headerText="Enter Grass Weight">
                         <p:cellEditor>

                                <f:facet name="output"><h:outputText value="0" /></f:facet>
                                <f:facet name="input"><p:inputText id="modelInput" value="0" style="width:100%"/></f:facet>
                            </p:cellEditor>
                        </p:column>

                        <p:column style="width:32px">
                            <p:rowEditor />
                        </p:column>



                    </p:dataTable>
                    <h:commandButton value="Log" action="#{paddock.add}" />

                </h:form>

你所有的围场
请注意,唯一可编辑的列是“草”列。

首先,有两个主要错误可能会产生不希望的副作用:

  • 切勿使用
    prependId
    。删除整个属性

  • 您应该给
    var
    一个与托管bean不同的名称。例如,
    围场项目


  • 至于具体问题,你的另一个错误是:

    <p:inputText id="modelInput" value="0" />
    
    
    
    您没有将输入值绑定到模型。所以JSF无论如何都不能用提交的值更新模型

    相应地对其进行修复,例如:

    <p:inputText id="modelInput" value="#{paddockItem.grass}" />
    
    
    
    在submit方法中,它将立即出现在模型中

    您只需绝对确保您没有使用
    的getter方法与数据库交互,否则您将在每一轮迭代中覆盖模型,从而基本上破坏提交的值,直到到达提交方法之前的最后一行。数据表value
    value=“#{paddock.getfromPaddock()}”
    后面的奇怪方法名称表明您正在这样做。如果它是一个不动产,一般初学者只会使用
    value=“#{paddock.frompadock}”
    左右

    另见:

    首先,有两个主要错误可能会产生不良副作用:

  • 切勿使用
    prependId
    。删除整个属性

  • 您应该给
    var
    一个与托管bean不同的名称。例如,
    围场项目


  • 至于具体问题,你的另一个错误是:

    <p:inputText id="modelInput" value="0" />
    
    
    
    您没有将输入值绑定到模型。所以JSF无论如何都不能用提交的值更新模型

    相应地对其进行修复,例如:

    <p:inputText id="modelInput" value="#{paddockItem.grass}" />
    
    
    
    在submit方法中,它将立即出现在模型中

    您只需绝对确保您没有使用
    的getter方法与数据库交互,否则您将在每一轮迭代中覆盖模型,从而基本上破坏提交的值,直到到达提交方法之前的最后一行。数据表value
    value=“#{paddock.getfromPaddock()}”
    后面的奇怪方法名称表明您正在这样做。如果它是一个不动产,一般初学者只会使用
    value=“#{paddock.frompadock}”
    左右

    另见:

    首先,有两个主要错误可能会产生不良副作用:

  • 切勿使用
    prependId
    。删除整个属性

  • 您应该给
    var
    一个与托管bean不同的名称。例如,
    围场项目


  • 至于具体问题,你的另一个错误是:

    <p:inputText id="modelInput" value="0" />
    
    
    
    您没有将输入值绑定到模型。所以JSF无论如何都不能用提交的值更新模型

    相应地对其进行修复,例如:

    <p:inputText id="modelInput" value="#{paddockItem.grass}" />
    
    
    
    在submit方法中,它将立即出现在模型中

    您只需绝对确保您没有使用
    的getter方法与数据库交互,否则您将在每一轮迭代中覆盖模型,从而基本上破坏提交的值,直到到达提交方法之前的最后一行。数据表value
    value=“#{paddock.getfromPaddock()}”
    后面的奇怪方法名称表明您正在这样做。如果它是一个不动产,一般初学者只会使用
    value=“#{paddock.frompadock}”
    左右

    另见:

    首先,有两个主要错误可能会产生不良副作用:

  • 切勿使用
    prependId
    。删除整个属性

  • 您应该给
    var
    一个与托管bean不同的名称。例如,
    围场项目


  • 至于具体问题,你的另一个错误是:

    <p:inputText id="modelInput" value="0" />
    
    
    
    您没有将输入值绑定到模型。所以JSF无论如何都不能用提交的值更新模型

    相应地对其进行修复,例如:

    <p:inputText id="modelInput" value="#{paddockItem.grass}" />
    
    
    
    在submit方法中,它将立即出现在模型中

    您只需绝对确保您没有使用
    的getter方法与数据库交互,否则您将在每一轮迭代中覆盖模型,从而基本上破坏提交的值,直到到达提交方法之前的最后一行。数据表value
    value=“#{paddock.getfromPaddock()}”
    后面的奇怪方法名称表明您正在这样做。如果是不动产,平均起价