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

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

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

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

caseMaster.xhtml

<p:calendar value="#{caseUitility.caseMaster.fileDate}" id="fileDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true">
    <p:ajax event="change" listener="#{caseUitility.dateChange}"/>
</p:calendar>

<p:calendar value="#{caseUitility.caseMaster.lastDate}" required="true" id="lastDate" effect="fadeIn" pattern="dd/MM/yyyy" readOnlyInputText="true" mindate="#{caseUitility.caseMaster.fileDate}" >
</p:calendar>

CaseUitility.java

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

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

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

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

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

猜你在找的Ajax相关文章