2014-11-06 69 views
3

我是新来的primefaces,我的英语不太好。我已经生成了一个数据表,当我点击数据表视图按钮时,一个模型diloag框会出现支持bean数据。我的问题是我的diloag没有显示来自backing bean的当前数据。但当我通过转到url刷新页面时,它会显示我以前的数据。我在这里加入亩代码与支持Bean,请帮助不显示刷新数据的primefaces的数据模态支持bean

我为.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> 

和我支持bean是:

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上设置数据。

请帮帮忙,在此先感谢

回答

0

我想你只需要在显示的对话框中添加按钮

update=":data" 

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

+0

它给了我错误无法找到具有从“j_idt12:datatable:0:j_idt33”引用的表达式“:form-horizo​​ntal:data”的组件。 – 2014-11-06 07:23:16

+0

对不起,我犯了一个错误,尝试更新 – 2014-11-06 07:24:11

+0

给我同样的错误找不到具有从“j_idt12:datatable:0:j_idt33”引用的表达式“:data”的组件。 – 2014-11-06 07:26:38

0

<p:commandLink>上的“更新”属性确实会生成它。 但我认为,如果你想更新以下形式的内容

<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()"> 
+0

,那么给它一个手动编号 – 2014-11-06 09:14:52

+0

如何在模板中集成?模板中是否有表单,面板...? – JeyTruss 2014-11-06 09:34:27

+0

模板中有面板 – 2014-11-06 09:37:51