这是一个典型的例子,当使用评估()调用公式不是一个好主意时。您要做的是获取 NotesDocument 类并从中读取值。
像这样的东西(免责声明,我不是 Java 开发人员):
// Open Domino Directory on specified server
Database db = session.getDatabase("YourServer/Domain", "names.nsf");
// Get a view with user name is sorted first column
View view = db.getView("($Users)");
// Get the person document for specified user
Document doc = view.getDocumentByKey(userName, true);
if (doc != null) {
// Get text values from Notes document
String emailAddress = doc.getItemValueString("InternetAddress");
String officePhone = doc.getItemValueString("OfficeNumber");
String officeAddress = doc.getItemValueString("OfficeStreetAddress");
}
我相信这会比使用 evaluate() 进行多次查找要快,而且您还可以获得完整错误处理的额外好处,并且所有这些都是本机代码。