在重复控制数据绑定和行之间共享计算 属性

sharing computation between repeat control data-binding and row property

对于 xp:repeat 控件,我通过一个包含 java 对象列表的托管 bean 计算数据绑定。例如

employeeBean.loadList(key);
return employeeBean.profiles;

第一行将在 bean 上设置配置文件字段,该 bean 将包含一个带有配置文件对象的数组列表。

在某些情况下,客户不希望有分页控件,所以我计算行数如下:

employeeBean.loadList(key);
var coll = employeeBean.profiles;
return coll.length;

我注意到我调用了同一个方法两次,而我在第一次调用时已经有了数据。

如何在数据绑定计算和行 属性 计算之间共享数据?

一切都取决于 loadList() 实施。使其成为多次调用的最佳选择,你就没事了。只需将您的列表保存在 bean 的某些内部 属性 中并使用缓存:

if (property == null) {
  property = getListData();
}
return property;

使用范围,requestview 应该没问题。如果您的列表包含 Domino 本机对象,请仅使用 request