ajax – 价值变化名单不能在主题日历中工作

前端之家收集整理的这篇文章主要介绍了ajax – 价值变化名单不能在主题日历中工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用的是3.2和JSF 2.0

我的方案是我的形式的文件日期,最后日期和下一个日期.
用户输入文件日期时,我需要更新bean中的文件日期值,所以它的值可以用作属性心态的最后日期,因此在下一个日期选择中.

根据我的知识价值变化监听器可以在表单提交中执行,所以我不能使用它.我用过p:ajax.但是我仍然无法设置文件日期.由于文件日期未设置,用户可以选择文件日期之前的最后日期和下一个日期.

caseMaster.xhtml

  1. <p:calendar value="#{caseUitility.caseMaster.fileDate}" id="fileDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true">
  2. <p:ajax event="change" listener="#{caseUitility.dateChange}"/>
  3. </p:calendar>
  4.  
  5. <p:calendar value="#{caseUitility.caseMaster.lastDate}" required="true" id="lastDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true" mindate="#{caseUitility.caseMaster.fileDate}" >
  6. </p:calendar>

CaseUitility.java

  1. public void dateChange(ActionEvent ae) {
  2. System.out.println("File Date: " + caseMaster.getFileDate());
  3. System.out.println("Hello... I am in DateChange");
  4. }

可以指导我这里做错了什么吗?

在最新版本的PrimeFaces中,应该使用SelectEvent作为以下代码
  1. <p:calendar id="event" value="#{calendarView.date4}">
  2. <p:ajax event="dateSelect" listener="#{calendarView.onDateSelect}" update="msgs" />
  3. </p:calendar>
  1. public void onDateSelect(SelectEvent event) {
  2. FacesContext facesContext = FacesContext.getCurrentInstance();
  3. SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
  4. facesContext.addMessage(null,new FacesMessage(FacesMessage.SEVERITY_INFO,"Date Selected",format.format(event.getObject())));
  5. }

在旧版本的版本中,使用DateSelectEvent

  1. <p:ajax event="dateSelect" listener="#{caseUitility.dateChange}"/>
  1. public void dateChange(DateSelectEvent event) {
  2. Date date = event.getDate();
  3. System.out.println("File Date: " + date);
  4. System.out.println("Hello... I am in DateChange");
  5. }

猜你在找的Ajax相关文章