我是新人,我的英语不是那么好。我已经生成了一个数据表,当我点击数据表视图按钮时,会出现一个带有支持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 && !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";
}
}
我添加了负责我的稀释盒的代码。我是stackoverflow的新手,所以我不能放置我的代码。我的bean在会话范围内,方法读取readFormStatus(id)从数据库获取数据,并在我的支持bean上设置数据。
请帮助,提前致谢
答案 0 :(得分:0)
我认为你只需要添加
update=":data"
显示对话框的按钮上的。
您刷新bean上的数据,但是您永远不会告诉对话框使用这些刷新的数据进行更新。
答案 1 :(得分: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()">