gpt4 book ai didi

ajax - 值更改监听器在 primefaces 日历中不起作用

转载 作者:行者123 更新时间:2023-12-03 11:45:59 27 4
gpt4 key购买 nike

我正在使用 primefaces 3.2 和 JSF 2.0

我的情况是我的表单中有文件日期、最后日期和下一个日期。
当用户输入文件日期时,我需要更新 bean 中的文件日期值,因此它的值可以用作属性 mindate 的最后日期的最小日期,因此在下一个日期选择中。

根据我的知识值更改监听器可以在表单提交时执行,因此我无法使用它。我用过 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>

CaseUtility.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())));
}

在旧的primefaces 版本中使用 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 - 值更改监听器在 primefaces 日历中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14099478/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com