Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf p:datePicker dateSelect空日期事件_Jsf_Primefaces_Datepicker - Fatal编程技术网

Jsf p:datePicker dateSelect空日期事件

Jsf p:datePicker dateSelect空日期事件,jsf,primefaces,datepicker,Jsf,Primefaces,Datepicker,我有两个p:datePicker,它们工作正常: <p:outputLabel for="filterStartDate" value="Start Date:" /> <p:datePicker id="filterStartDate" value="#{historyController.filterStartDate}" timeOnly="true" pattern="HH:mm" converter="#{localTimeConverter}"> &l

我有两个
p:datePicker
,它们工作正常:

<p:outputLabel for="filterStartDate" value="Start Date:" />
<p:datePicker id="filterStartDate" value="#{historyController.filterStartDate}" timeOnly="true" pattern="HH:mm" converter="#{localTimeConverter}">
    <p:ajax event="dateSelect" listener="#{historyController.filterStartDateSelect}"/>
</p:datePicker>

<p:outputLabel for="filterEndDate" value="End Date:" />
<p:datePicker id="filterEndDate" value="#{historyController.filterEndDate}" timeOnly="true" pattern="HH:mm" converter="#{localTimeConverter}">
    <p:ajax event="dateSelect" listener="#{historyController.filterEndDateSelect}"/>
</p:datePicker>
这很好,问题是当我想将对象
filterStartDate
filterEndDate
初始化为
null
时。ajax事件
dateSelect
当值为空时,它从未被调用。

如果查看,您将看到唯一明确记录的事件是
dateSelect
。但有一点值得注意:

在弹出模式下,
DatePicker
还支持常规的ajax行为事件,如blur、keyup等

因此,您可以添加一个Ajax侦听器并处理所有更改,并使用它来处理
null
值。或者只使用更改事件来处理所有更改,这样可以节省对服务器进行的额外Ajax调用。

如果查看,您将看到唯一明确记录的事件是
dateSelect
。但有一点值得注意:

在弹出模式下,
DatePicker
还支持常规的ajax行为事件,如blur、keyup等

因此,您可以添加一个Ajax侦听器并处理所有更改,并使用它来处理
null
值。或者只使用change事件来处理所有更改,这样可以节省对服务器的额外Ajax调用

private LocalTime filterStartDate;
private LocalTime filterEndDate;

public void filterStartDateSelect(SelectEvent event) {
    filterStartDate = ((LocalTime) event.getObject());
}

public void filterEndDateSelect(SelectEvent event) {
    filterEndDate = ((LocalTime) event.getObject());
}