Xpages-调用NotesDocument.getItemValueDateTimeArray(字符串)时发生异常

Xpages-调用NotesDocument.getItemValueDateTimeArray(字符串)时发生异常,xpages,lotus-notes,xpages-ssjs,domino-designer-eclipse,ssjs,Xpages,Lotus Notes,Xpages Ssjs,Domino Designer Eclipse,Ssjs,我已经使用创建了一个xpages应用程序,到目前为止,它能够在日历上显示数据。但是,只要任何一个提交字段留空,它就会终止日历页并返回上面的异常错误。如果提交的字段中没有空格,日历将很好地打开 我可以通过对表单进行验证来解决这个问题,以确保所有字段都已填写,但这将限制用户,我希望避免这种情况 下面是返回错误的代码: try { var calendarDate:NotesDateTime; try{ calDate:NotesDateTime = docEv.getItemVa

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

我可以通过对表单进行验证来解决这个问题,以确保所有字段都已填写,但这将限制用户,我希望避免这种情况

下面是返回错误的代码:

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;
如果(!docEv.getItemValue(“MeetingDate”).isEmpty()){
calDate=docEv.getItemValueDateTimeArray(“MeetingDate”).elementAt(0);
...
}

使用getItemValue()检查字段是否至少有一个元素有效!谢谢你的帮助,克努特。在这一点上,我想你也可以使用getItemValue返回的相同列表——如果它是一个日期/时间字段,那么元素已经是DateTimes了,并且可以保存第二次调用。