Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用PrimeFaces保存带有独立输入框的datatable_Java_Spring_Jsf_Jsf 2_Primefaces - Fatal编程技术网

Java 使用PrimeFaces保存带有独立输入框的datatable

Java 使用PrimeFaces保存带有独立输入框的datatable,java,spring,jsf,jsf-2,primefaces,Java,Spring,Jsf,Jsf 2,Primefaces,我想用用户输入的inputtext值保存我的数据表值。我的问题是我的保存方法不起作用,我找不到任何保存方法 我的xhtml是: <h:message for="message"/> <h:panelGrid columns="2" cellspacing="4" columnClasses="control-label"> <h:outputText value="#{msg['e

我想用用户输入的inputtext值保存我的数据表值。我的问题是我的保存方法不起作用,我找不到任何保存方法

我的xhtml是:

<h:message for="message"/>  
        <h:panelGrid columns="2" cellspacing="4" columnClasses="control-label">

            <h:outputText
                    value="#{msg['elicense.examinationform.personal.proposeofexam']}" />
                <p:selectOneMenu id="propExam" value="#{issueAdmitCardBean.examination}" 
                    converter="omnifaces.SelectItemsConverter" editable="false"
                    required="true" label="Examination Applied For" styleClass="dropdownWidth">
                    <f:selectItem itemLabel="---Select One---" itemValue="" />
                    <f:selectItems value="#{issueAdmitCardBean.testExamNames}" var="test" itemLabel="#{test.name}" itemValue="#{test}" />

                </p:selectOneMenu>

                <h:outputText value="Select Degree Category :" />
                <p:selectOneMenu id="degreeList"
                    value="#{issueAdmitCardBean.degree}" editable="false"
                    converter="omnifaces.SelectItemsConverter" required="true"
                    label="Please Select degree" styleClass="dropdownWidth">
                    <f:selectItem itemValue="" itemLabel="---Select One---" />
                    <f:selectItems value="#{issueAdmitCardBean.degreeNames}"
                        var="degree" itemLabel="#{degree.name}" itemValue="#{degree}" />
                </p:selectOneMenu>


                <h:outputText value="Center of Examination :"/>
                <p:selectOneMenu id="centerId" value="#{issueAdmitCardBean.center}" editable="false" 
                converter="omnifaces.SelectItemsConverter" required="true" label="Please select Center"
                styleClass="dropdownWidth">
                <f:selectItem itemValue="" itemLabel="---Select One---"/>
                <f:selectItems value="#{issueAdmitCardBean.centerNames}" var="center" 
                itemLabel="#{center.name}" itemValue="#{center}"/>
                <p:ajax   listener="#{issueAdmitCardBean.readVenuefromCenter(issueAdmitCardBean.center.id)}" update="venueNames"  />
                </p:selectOneMenu>


                <h:outputText value="Total No. of Candidates Under this Category :"/>
                <!-- <h:outputText value="#{issueAdmitCardBean.getTotalNoofCandidates()}"/>  -->



                 </h:panelGrid> 


                <p:dataTable id="venueNames" var="test" value="#{issueAdmitCardBean.venueNames}" 
                paginator="false" rows="10">

                    <p:column headerText="Id">
                        <h:outputText value="#{test.id}" />
                    </p:column>

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

                    <p:column headerText="Maximum Capacity ">
                        <h:outputText value="#{test.capacity}" />
                    </p:column>

                     <p:column headerText="Allot No. of Candidates ">
                        <h:inputText value="issueAdmitCardBean.allotedCandidates" style="width:50px;"/>
                    </p:column>

                    <p:column headerText="Exam Date">
                       <p:calendar value="issueAdmitCardBean.examDate" pattern="dd-MM-yyyy" navigator="true" style="width:10px;"/>
                     </p:column>

               </p:dataTable>


            <p:commandButton  icon="Save" value="Submit" action="#{issueAdmitCardBean.issueRollNoForExamination()}"/>
            </p:panel>

    </div>

</h:form>

但是我的save方法永远不会执行。请帮助我保存带有更新值的数据表。

您需要进行一些更改,以便能够更新备份bean中的场地

将styleClass和rowIndexVar变量添加到p:dataTable组件中

<p:dataTable id="venueNames" var="test" value="#{issueAdmitCardBean.venueNames}" styleClass="dataTable"  rowIndexVar="index" paginator="false" rows="10">
将输入文本更改为

<h:inputText value="#{issueAdmitCardBean.venueNames[index].allotedCandidates}" style="width:50px;"/>
向“保存”按钮添加更新

<p:commandButton  icon="Save" value="Submit" update="@(.dataTable)" action="# {issueAdmitCardBean.issueRollNoForExamination()}"/>

这将解决您当前无法更新AllocatedCandiAdates值的问题。当你说我的save方法永远不会执行时,我不太理解你问题中的部分。但是我在您的代码中看到,该方法应该被触发,因此如果问题是您没有在支持bean中找到该方法,那么根本原因是其他原因,这在您发布的代码片段中并不明显。

我找不到任何解决方案。我尝试获取文本框值,但它显示为0
<p:commandButton  icon="Save" value="Submit" update="@(.dataTable)" action="# {issueAdmitCardBean.issueRollNoForExamination()}"/>