对于 xp:repeat 控件,我通过托管 bean 计算数据绑定(bind),托管 bean 中包含一个 java 对象列表。例如
employeeBean.loadList(key);
return employeeBean.profiles;
第一行将在 bean 上设置配置文件字段,该 bean 将包含一个带有配置文件对象的数组列表。
在某些情况下,客户不希望有分页器控件,因此我计算行数如下:
employeeBean.loadList(key);
var coll = employeeBean.profiles;
return coll.length;
我注意到我调用了同一个方法两次,而我在第一次调用中已经有了数据。
如何在数据绑定(bind)计算和行属性计算之间共享数据?
最佳答案
一切都取决于loadList()
的实现。使其成为多次调用的最佳选择,你就没事了。只需将您的列表保存在 bean 的某些内部属性中并使用缓存:
if (property == null) {
property = getListData();
}
return property;
使用作用域,request
或 view
应该没问题。如果您的列表包含 Domino native 对象,请仅使用 request
。
关于java - 在重复控件数据绑定(bind)和行属性之间共享计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48928164/