java - primefaces 的数据模式不显示刷新数据形式的支持 bean

标签 java spring jsf primefaces

我是 primefaces 的新手,我的英语不是很好。我已经生成了一个数据表,当我单击数据 TableView 按钮时,将出现一个带有支持 bean 数据的模型 diloag 框。我的问题是我的 diloag 没有显示来自支持 bean 的当前数据。但是当我通过转到 url 刷新页面时,它将显示我以前的数据。我在这里添加 mu 代码和支持 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 在 session 范围内,方法读取 readFormStatus(id) 从数据库获取数据并在我的支持 bean 上设置数据。

请帮忙,提前致谢

最佳答案

我想你只需要添加

update=":data" 

在显示对话框的按钮上。

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

关于java - primefaces 的数据模式不显示刷新数据形式的支持 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26773629/

相关文章:

ajax - primefaces 不验证 ajax 渲染的组件

java - af :Calendar component, 按列类型过滤

java - 使用吗啡无法在 mongo 集合中找到字段

java - 简单的 Netty Http-Server 只返回 "Hello World"

java - JSF:丰富的数据表过滤、动态列和传递参数

java - Neo4J POJO 方法

java - Hibernate异常: Could not obtain transaction-synchronized Session for current thread although I invoke transactional method

java - 需要在数据库中存储字节码

java - 使用 Intent 传递整数在 Android 中不起作用

java - 将本地 Java 项目 merge 到现有 git 存储库