primefaces的数据模式不显示来自backingbean的刷新数据



我是新手,我的英语不是很好。我已经生成了一个数据表,当我点击数据表视图按钮时,一个带有backingbean数据的模型diloag框将出现。我的问题是我的diloag没有显示来自backingbean的当前数据。但是当我通过访问url刷新页面时,它会显示我以前的数据。我在这里添加了μ代码和支持豆,请帮助

我的.xhtm是

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:p="http://primefaces.org/ui"
    xmlns:c="http://java.sun.com/jsp/jstl/core">
    <ui:composition template="/layouts/BasicTemplate.xhtml">
    <ui:define name="content">
      <div class="container">
      <script type="text/javascript">
      alert('hi');
      </script>
        <h:form prependId="false" id="mainform">
            <p:dataTable var="test" value="#{examinationFormBean.candidateList}" paginator="true" rows="10" id="datatable">
                <p:column headerText="Id">
                    <h:outputText value="#{test.id}" />
                </p:column>
                <p:column headerText="Name Of Candidate">
                    <h:outputText value="#{test.user.name}" />
                </p:column>
                <p:column headerText="Mobile No ">
                    <h:outputText value="#{test.user.mobileNo}" />
                </p:column>
                <p:column headerText="E-mail Address">
                    <h:outputText value="#{test.user.email}" />
                </p:column>
                 <p:column headerText="View/Action">
                        <p:commandLink value="View"   action="#      {examinationFormBean.readFormStatus(test.id)}"  oncomplete="PF('test').show()">
                        </p:commandLink>
                 </p:column>
             </p:dataTable>
            </h:form>
        </div>

         <p:dialog  widgetVar="test"   id="dialog" height="600" width="760">
            <h:form class="form-horizontal" id="data">
              <div class="row" >
                  <p:growl id="growl" sticky="true" showDetail="true" />
                   <p:panel header="Examination Details" id="data">
                    <h:panelGrid columns="2" cellpadding="4"  border="1"  id="panael1" style="text-align: left;color: #333399;" width="760">
                            <h:outputText   value="#{msg['elicense.examinationform.personal.proposeofexam']}"/>
                            <h:outputText id="propExam" value="#{examinationFormBean.examination.name}"/>
                            <h:outputText  value="#{msg['elicense.examinationform.personal.classofcertificates']}" />
                            <c:if test="#{examinationFormBean.elementaryPrinciples==true}">
                                   Elemetry Principle
                             </c:if>
                            <!-- <h:outputText id="grid"  value="Elemetry Principle" rendered="#{examinationFormBean.elementaryPrinciples==true}"/>  -->
                            <c:if test="#{examinationFormBean.wiringForSystem==true}">
                             <p:spacer></p:spacer>
                             <h:outputText id="data1" value="Wiring for System not Exceeding 250 Volts"/>
                            </c:if>

                            <p:spacer></p:spacer>
                            <h:outputText id="data2" value="D. C. Apparatus not Exceeding 650 Volts" rendered="#{examinationFormBean.dcApparatus==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data3" value="A. C. Apparatus not Exceeding 650 Volts" rendered="#{examinationFormBean.acApparatus==true}"  />
                            <p:spacer></p:spacer>
                            <h:outputText id="data4" value="Underground Cables Voltage upto 1100 Volts" rendered="#{examinationFormBean.undergroundCable1100Volts==true}"/> 
                            <p:spacer></p:spacer>
                            <h:outputText id="data5" value="Underground Cables Voltage upto 11900 Volts" rendered="#{examinationFormBean.undergroundCable11900Volts==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data6" value="Underground Cables Voltage exceeding 33000 Volts" rendered="#{examinationFormBean.undergroundCable3300Volts==true}"/>   
                            <p:spacer></p:spacer>
                            <h:outputText id="data7" value="Installation exceeding 650 Votts" rendered="#{examinationFormBean.installationExceding650Volts==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data8" value="Overhead lies Upto 650 Volts" rendered="#{examinationFormBean.overHeadLiesupto650Volts==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data9" value="Overhead lies Upto 33000 Volts" rendered="#{examinationFormBean.overHeadLiesupto3300Volts==true}"/>     
                            <p:spacer></p:spacer>
                            <h:outputText id="data10" value="Overhead lies Exceeding 33000 Volts" rendered="#{examinationFormBean.overHeadLiesExceeding3300Volts==true}"/>  
                             <p:spacer></p:spacer>
                           <h:outputText id="data11" value="Mining Installation(Bellow Ground)" rendered="#{examinationFormBean.minigInstallation==true}"/>
                            <p:spacer></p:spacer>    
                            <h:outputText id="data12" value="Mining Installation(Bellow Ground)" rendered="#{examinationFormBean.minigInstallation==true}"/>    
                             <p:spacer></p:spacer>
                            <h:outputText id="data13" value="Wiring for System not exceeding 650 Volts" rendered="#{examinationFormBean.wiringForSystemUpto650Volts==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data14" value="Electric Lt" rendered="#{examinationFormBean.electricIt==true}"/>
                            <p:spacer></p:spacer>
                            <h:outputText id="data15" value="Electrict Signs" rendered="#{examinationFormBean.electricSigns==true}"/>
                             <p:spacer></p:spacer>
                            <h:outputText id="data16" value="Medium Pressure Indian Electricity Rules 1959" rendered="#{examinationFormBean.mediumPressure==true}"/>
                             <p:spacer></p:spacer>
                            <h:outputText id="data17" value="Motor wiring(Including Generators)" rendered="#{examinationFormBean.motorWiring==true}"/>
                             <p:spacer></p:spacer>
                            <h:outputText id="data18" value="Overhead Lines(LT)" rendered="#{examinationFormBean.ltOverHeadLines==true}"/>
                             <p:spacer></p:spacer>
                            <h:outputText id="data19" value="Pepar Insulated cables(laying and joining)" rendered="#{examinationFormBean.paperInsulatedCables==true}"/>
                            <h:outputText value="#{msg['elicense.examinationform.examination.centerofexamination']}" />
                            <h:outputText id="examcenterid" value="#{examinationFormBean.center.name}" />
                            <h:outputText value="#{msg['elicense.examinationform.examination.languagepaper']}" />
                            <h:outputText id="language" value="#{examinationFormBean.language.name}" />
                        </h:panelGrid>
                    </p:panel>

                    <!-- personal details -->
                        <ui:include src="/pages/personalView.xhtml" />

                    <!-- Education Qualification -->
                    <p:panel header="Education Qualification">
                        <ui:include src="/pages/educationalQualificationsView.xhtml" />

                    </p:panel>

                    <!-- Certificate or Permit Details -->

                    <p:panel header="Previous Certificate Details">
                        <h:panelGrid columns="2" style="text-align: left;color: #333399;"  width="760">
                            <h:outputText   value="#{msg['elicense.examinationform.academic.premitno']}" />
                            <h:outputText id="permitid" value="#{examinationFormBean.previousCertificate.previousPermitNo}" />
                            <h:outputText   value="#{msg['elicense.examinationform.academic.certificate']}" />
                            <h:outputText id="certificateid"    value="#{examinationFormBean.previousCertificateNo}" />
                            <h:outputText   value="#{msg['elicense.examinationform.academic.otherstatepermitno']}" />
                            <h:outputText id="otherstatepermitid"   value="#{examinationFormBean.otherStatePermitNo}" />
                            <h:outputText   value="#{msg['elicense.examinationform.academic.otherstatecertificateno']}" />
                            <h:outputText id="otherstatecertificateid"  value="#{examinationFormBean.otherStateCertificateNo}" />
                            <!-- <h:outputText
                                value="#{msg['elicense.examinationform.academic.dateofissue']}" />
                            <h:outputText id="compopupforprivious"
                                value="#{examinationFormBean.previousRegistrationDate}" />
                 -->
                        </h:panelGrid>
                    </p:panel>

                    <!-- Experience Details -->
                    <p:panel header="Experience Details">
                        <ui:include src="/pages/experienceView.xhtml" />
                    </p:panel>

                    <!-- Treasury Challan Details -->
                    <ui:include src="/pages/treasuryChallanView.xhtml" />

                    <!-- Attachment -->
                    <p:panel header="Upload necessary Document">
                        <h:panelGrid columns="2" style="text-align: left;color: #333399;" width="760" border="1">
                            <h:outputText value="#{msg['elicense.examinationform.uplod.document']}" />
                            <p:graphicImage value="#{examinationFormBean.candidatePhoto}" />
                            <h:outputText  value="#{msg['elicense.examinationform.uplod.sign']}" />
                            <p:graphicImage value="#{examinationFormBean.signature}"    mode="simple" disabled="false" label="Candidates Signature " />
                            <p:spacer></p:spacer>
                             <p:messages id="messageid"/>


                        <h:outputText value="Action :" class="alignment"/>
                         <p:selectOneRadio id="console" value="#{examinationFormBean.action}" required="true" label="Action">
                            <f:selectItem itemLabel="Accept" itemValue="CD3" />
                            <f:selectItem itemLabel="Reject" itemValue="CD4" />
                         </p:selectOneRadio>
                        <!-- <h:outputLabel value="Comment:"></h:outputLabel>
                        <h:inputText id="compid"    value="#{examinationFormBean.comment}" /> -->
                         <p:spacer></p:spacer>
                          <p:commandButton value="Proceed to Zonal Electrical Inspector>>"
                              action="#{examinationFormBean.saveFormStatus()}"  update="@this,messageid,data"   process="data"  oncomplete="if (args &amp;&amp; !args.validationFailed) PF('test').hide()" >
                              <f:ajax  update="datatable"/>
                          </p:commandButton>
                        </h:panelGrid>
                    </p:panel>
                </div>
        </h:form>   
    </p:dialog>

    </ui:define>
</ui:composition>
</html>

我的支持豆是:

package brahmaputra.bohniman.elicense.core.managedbeans;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import org.primefaces.event.FlowEvent;
import org.primefaces.model.UploadedFile;
import brahmaputra.bohniman.elicense.core.models.Center;
import brahmaputra.bohniman.elicense.core.models.CertificateClass;
import brahmaputra.bohniman.elicense.core.models.Education;
import brahmaputra.bohniman.elicense.core.models.Examination;
import brahmaputra.bohniman.elicense.core.models.ExaminationDetails;
import brahmaputra.bohniman.elicense.core.models.Experience;
import brahmaputra.bohniman.elicense.core.models.FormStatus;
import brahmaputra.bohniman.elicense.core.models.Language;
import brahmaputra.bohniman.elicense.core.models.PersonalDetails;
import brahmaputra.bohniman.elicense.core.models.PreviousCertificate;
import brahmaputra.bohniman.elicense.core.models.TreasuryChallan;
import brahmaputra.bohniman.elicense.core.models.User;
import brahmaputra.bohniman.elicense.core.models.Wizard;
import brahmaputra.bohniman.elicense.core.services.DDUtilService;
import brahmaputra.bohniman.elicense.core.services.ExaminationDetailsService;
@ManagedBean
@SessionScoped

public class ExaminationFormBean{

//To Read Form Staus
public void readFormStatus(Long id)
{
    System.out.println("id is "+id);

    //To display formstatus
     formStatus  = examinationDetailsService.readFormStatusIdById(id);
    //To display examination details
    ExaminationDetails examinationDetails=examinationDetailsService.readExaminationDetails(id);

    setExamination(examinationDetails.getExamination());
    setCenter(examinationDetails.getCenter());
    setLanguage(examinationDetails.getLanguage());
    setAcApparatus(examinationDetails.getAcApparatus());
    setDcApparatus(examinationDetails.getDcApparatus());
    setElectricIt(examinationDetails.getElectricIt());
    setElectricSigns(examinationDetails.getElectricSigns());
    setElementaryPrinciples(examinationDetails.getElementaryPrinciples());
    setHighPressure(examinationDetails.getHighPressure());
    setHtOverHeadLines(examinationDetails.getHtOverHeadLines());
    setInstallationExceding650Volts(examinationDetails.getInstallationExceding650Volts());
    setLtOverHeadLines(examinationDetails.getLtOverHeadLines());
    setMediumPressure(examinationDetails.getMediumPressure());
    setMotorWiring(examinationDetails.getMotorWiring());
    setMinigInstallation(examinationDetails.getMinigInstallation());
    setOtherInstallation(examinationDetails.getOtherInstallation());
    setOverHeadLiesExceeding3300Volts(examinationDetails.getOverHeadLiesExceeding3300Volts());
    setOverHeadLiesupto3300Volts(examinationDetails.getOverHeadLiesupto3300Volts());
    setOverHeadLiesupto650Volts(examinationDetails.getOverHeadLiesupto3300Volts());
    setPaperInsulatedCables(examinationDetails.getPaperInsulatedCables());
    setWiringForSystem(examinationDetails.getWiringForSystem());
    setWiringForSystemUpto650Volts(examinationDetails.getWiringForSystemUpto650Volts());
    System.out.println("Examination"+examinationDetails.getExamination().getName());


    //To display personal info
    personalDetails=examinationDetailsService.readPersonalDetailsById(id);
    personalBean.setFatherName(personalDetails.getFatherName());
    personalBean.setCitizenshipReason(personalDetails.getCitizenshipReason());
    personalBean.setCitizenshipValue(personalDetails.getOtherReason());
    personalBean.setNationality(personalDetails.getNationality());
    personalBean.setDateofBirth(personalDetails.getDateOfBirth());
    personalBean.setPermanentAddressLine1(personalDetails.getPermanentAddressLine1());
    personalBean.setPermanentAddressLine2(personalDetails.getPermanentAddressLine2());
    personalBean.setPermanentDistrict(personalDetails.getPermanentDistrict());
    personalBean.setPermanentPinCode(personalDetails.getPermanentPincode());
    personalBean.setPermanentState(personalDetails.getPermanentState());
    personalBean.setPresentAddressLine1(personalDetails.getPresentAddressLine1());
    personalBean.setPresentAddressLine2(personalDetails.getPermanentAddressLine2());
    personalBean.setPresentDistrict(personalDetails.getPresentDistrict());
    personalBean.setPresentState(personalDetails.getPresentState());
    personalBean.setPresentPinCode(personalDetails.getPresentPincode());
    //to display Educational qualification
    Education education=examinationDetailsService.readEducationById(id);
    educationalQualificationsBean.setInstituteName(education.getInstituteName());
    educationalQualificationsBean.setCertificateNumber(education.getCertificateNo());
    educationalQualificationsBean.setDegree(education.getDegree());

    //To display previous certificate display
    previousCertificate=examinationDetailsService.readCertificateById(id);
    this.setPreviousCertificateNo(previousCertificate.getPreviousCertificateNo());
    this.setPreviousPermitNo(previousCertificate.getPreviousPermitNo());
    this.setOtherStateCertificateNo(previousCertificate.getOtherStateCertificateNo());
    this.setOtherStatePermitNo(previousCertificate.getOtherStatePermitNo());
    //To display experiance details
    Experience experience=examinationDetailsService.readExperianceById(id);
    experienceBean.setCommenceDateOne(experience.getCommenceDateOne());
    experienceBean.setCommenceDateThree(experience.getCommenceDateThree());
    experienceBean.setCommenceDateTwo(experience.getCommenceDateTwo());
    experienceBean.setOrganisationNameOne(experience.getOrganisationNameOne());
    experienceBean.setOrganisationNameThree(experience.getOrganisationNameThree());
    experienceBean.setOrganisationNameTwo(experience.getOrganisationNameTwo());
    experienceBean.setTerminatiDateOne(experience.getTerminatiDateOne());
    experienceBean.setTerminatiDateThree(experience.getTerminatiDateThree());
    experienceBean.setTerminationDateTwo(experience.getTerminationDateTwo());
    //To disply treasury challan details
    TreasuryChallan treasuryChallan =new TreasuryChallan();
    treasuryChallan=examinationDetailsService.readTreasuryChallanById(id);
    treasuryChallanBean.settChallanAmount(treasuryChallan.getAmount());
    treasuryChallanBean.settChallanBank(treasuryChallan.getBankName());
    treasuryChallanBean.settChallanBankBranch(treasuryChallan.getBranchName());
    treasuryChallanBean.settChallanDate(treasuryChallan.getDate());
    treasuryChallanBean.settChallanName(treasuryChallan.getTreasuryName());
    treasuryChallanBean.settChallanNo(treasuryChallan.getChallanNo());

}

//To save application status
public String saveFormStatus()
{
    System.out.println("hiiii"+this.getComment());
    formStatus.setStatus(getAction());
    examinationDetailsService.saveFormStatus(formStatus);
    /* FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Car Selected", "Id:");
     FacesContext.getCurrentInstance().addMessage(null, message);*/
    System.out.println("Hi page successfully save"+getAction());
    this.setAction("");

    //resetForm();
    return  "/pages/AdminView.xhtml";
}



// To Reset the Form
public String resetForm()
{
    personalBean.setApplicantName(null);
    personalBean.setCitizenshipReason(null);
    personalBean.setCitizenshipValue(null);
    personalBean.setDateofBirth(null);
    personalBean.setFatherName(null);
    personalBean.setNationality(null);
    personalBean.setPermanentAddressLine1(null);
    personalBean.setPermanentAddressLine2(null);
    personalBean.setPermanentDistrict(null);
    personalBean.setPermanentPinCode(null);
    personalBean.setPermanentState(null);
    personalBean.setPresentAddressLine1(null);
    personalBean.setPresentAddressLine2(null);
    personalBean.setPresentDistrict(null);
    personalBean.setPresentState(null);
    personalBean.setPresentPinCode(null);
    personalBean.setCopyAddress(false);
    educationalQualificationsBean.setDegreeCertificateNumber(null);
    educationalQualificationsBean.setDegreeSchoolName(null);
    educationalQualificationsBean.setHsCertificateNumber(null);
    educationalQualificationsBean.setHslcCertificateNumber(null);
    educationalQualificationsBean.setHslcSchoolName(null);
    educationalQualificationsBean.setHsSchoolName(null);
    educationalQualificationsBean.setPgCertificateNumber(null);
    educationalQualificationsBean.setPgInstituteName(null);
    educationalQualificationsBean.setTechnical(null);
    educationalQualificationsBean.setTechnicalCertificateNumber(null);
    experienceBean.setCommenceDateOne(null);
    experienceBean.setCommenceDateThree(null);
    experienceBean.setCommenceDateTwo(null);
    experienceBean.setOrganisationNameOne(null);
    experienceBean.setOrganisationNameThree(null);
    experienceBean.setOrganisationNameTwo(null);
    experienceBean.setTerminatiDateOne(null);
    experienceBean.setTerminatiDateThree(null);
    experienceBean.setTerminationDateTwo(null);
    treasuryChallanBean.settChallanAmount(null);
    treasuryChallanBean.settChallanBank(null);
    treasuryChallanBean.settChallanBankBranch(null);
    treasuryChallanBean.settChallanDate(null);
    treasuryChallanBean.settChallanName(null);
    treasuryChallanBean.settChallanNo(null);
    treasuryChallanBean.settChallanPaid(null);
    examination=null;
    center=null;
    language=null;
    previousCertificate=null;
    previousPermitNo=null;
    previousCertificateNo=null;
    otherStatePermitNo=null;
    otherStateCertificateNo=null;
    previousRegistrationDate=null;
    elementaryPrinciples = false;
    wiringForSystem = false;
    dcApparatus = false;
    acApparatus = false;
    undergroundCable1100Volts = false;
    undergroundCable11900Volts = false;
    undergroundCable3300Volts = false;
    installationExceding650Volts = false;
    overHeadLiesupto650Volts = false;
    overHeadLiesupto3300Volts = false;
    overHeadLiesExceeding3300Volts = false;
    minigInstallation = false;
    wiringForSystemUpto650Volts = false;
    electricIt = false;
    electricSigns = false;
    mediumPressure = false;
    motorWiring = false;
    ltOverHeadLines = false;
    paperInsulatedCables = false;
    highPressure = false;
    htOverHeadLines = false;
    otherInstallation = false;
    examinationPart.clear();
    return  "/pages/examinationForm.xhtml";

}


}

我正在添加负责我的dilog框的代码。我是stackoverflow的新手,所以我不太容易放置我的代码。我的bean在会话范围内,方法读取readFormStatus(id)从数据库获取数据,并在我的支持bean上设置数据。

请帮忙,提前感谢

我认为您只需要添加

update=":data" 

在显示对话框的按钮上。

您刷新了bean上的数据,但从未告诉对话框使用这些刷新的数据进行更新。

<p:commandLink>上的"update"属性确实可以实现。但我认为,如果你想更新以下表格的内容

<h:form class="form-horizontal" id="data">

你实际上必须更新对话框

<p:dialog  widgetVar="test"   id="dialog" height="600" width="760">

所以基本上,你的commandLink应该是这样的

<p:commandLink value="View" update=":dialog" action="#examinationFormBean.readFormStatus(test.id)}"  oncomplete="PF('test').show()">

最新更新