代码之家  ›  专栏  ›  技术社区  ›  Malin

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

  •  1
  • Malin  · 技术社区  · 8 年前

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

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

    第一行将在bean上设置profiles字段,该bean将包含带有profile对象的arraylist。

    在某些情况下,客户不想使用寻呼机控件,因此我按以下方式计算行数:

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

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

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

    1 回复  |  直到 8 年前
        1
  •  4
  •   Frantisek Kossuth    8 年前

    一切取决于 loadList() 实施多打几次电话,你就没事了。只需将列表保存在bean的一些内部属性中并使用缓存:

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

    使用范围, request 或 view 应该没问题。如果列表中包含Domino本机对象,请坚持 要求 只有