Xpages - 调用 NotesDocument.getItemValueDateTimeArray(string) 时发生异常

Xpages - Exception occurred calling NotesDocument.getItemValueDateTimeArray(string)

我已经使用 full calendar 构建了一个 xpages 应用程序,到目前为止能够在日历上显示数据。但是只要任何提交的字段留空,它就会终止日历页面和 returns 上面的异常错误。如果提交的字段中没有空白,日历会很好地打开。

我本可以通过在表单上使用验证来确保所有字段都已填写来解决这个问题,但这会限制用户,我想避免这种情况。

下面是返回错误的代码:

try { 
  var calendarDate:NotesDateTime; 
  try{
    calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0);//error coming from here when it is null
  }catch(e){
      print("Meeting date null error: " + e.toString());
      return calendarDate;
  }
  if(calDate != null){
      var today:NotesDateTime = session.createDateTime("Today");

      if (calDate != null && calDate.timeDifference(today) > 0) {
          try{
              var calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0);
          } catch(e) {
              print("calendar error: " + e.toString());
          }
      }
   }
  }catch(e){
      print("Calendar error: " + e.toString());
      return calendarDate;
  }

我也试过用try/catch来阻止页面被杀,但是好像也不管用。

是否有任何逻辑可以用来检查 var calendarDate:NotesDateTime; 是否为 null,如果为 null 则什么都不做?

非常感谢。

我不使用 XPages,但我认为这样的事情会起作用,因为在尝试执行 elementAt 方法时发生错误:

if (docEv.getItemValueDateTimeArray("MeetingDate") == null) {
   calDate:NotesDateTime = null;
} else {
   calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0);
}

测试文档是否有一项 "MeetingDate" 至少包含一个元素:

var calDate:NotesDateTime;
if (!docEv.getItemValue("MeetingDate").isEmpty()) {
    calDate = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0);
    ...
}