У меня проблема с датами на простых лицах.У меня есть календарь с двумя датами, когда я выбираю 2-ую дату, вызывается метод, когда обе даты пусты, отображается список.Когда он заполнен, отображается другой список, проблема состоит в том, что, когда я заполняю обе даты после того, как я опустошил их, они не показывают мне ничего, они не принимают их как пустые.Ниже мой код:
JSF
<h:form id="form">
<p:outputLabel for="startDate1" value="De:" />
<p:calendar id="startDate1" value="#{instanceController.startDate1}"
pattern="dd-MM-yyyy"
locale="#{navigationController.locale}">
<p:ajax event="dateSelect" update="endDate1" />
</p:calendar>
<p:outputLabel for="endDate1" value="A:" />
<p:calendar id="endDate1" value="#{instanceController.endDate1}"
mindate="#{instanceController.startDate1}"
pattern="dd-MM-yyyy"
locale="#{navigationController.locale}">
<p:ajax update="@(.dataTableDAC)" listener="#
{instanceController.procListDate()}" event="dateSelect" />
<p:ajax event="change" update="startDate1"></p:ajax>
<p:ajax event="dateSelect" update="endDate1" />
</p:calendar>
</h:form>
JAVA
public List<ProcessInstance> procListDate() throws ParseException {
DateFormat format = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
List<ProcessInstance> procInstList= activitiService.getProcInstList();
List<ProcessInstance> procInstListDate=new ArrayList<>();
if(startDate1==null || endDate1==null ) {
return procInstList;
} else {
for (int i = 0; i < procInstList.size(); i++) {
ProcessInstance procIns = procInstList.get(i);
String dateProcInst = getVariableProcess(procIns, "form_1448539361458");
if (!dateProcInst.equals("null")) {
Date dateDa = format.parse(dateProcInst);
if (dateDa.compareTo(startDate1) > 0 && dateDa.compareTo(endDate1) < 0) {
procInstListDate.add(procIns);
}
}
}
return procInstListDate;
}
}