Java 使用PrimeFaces保存带有独立输入框的datatable
我想用用户输入的inputtext值保存我的数据表值。我的问题是我的保存方法不起作用,我找不到任何保存方法 我的xhtml是: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
<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()}"/>