你能否在8.5.3中关闭由Domino Data Service返回的所有属性的@

时间:2012-02-03 17:58:03

标签: lotus-domino xpages

对于8.53和XPages扩展库中新增的Domino Data Services,我想关闭@,它预装了来自REST API调用的JSON数据中返回的所有属性。

e.g。目前它看起来像这样:

  "@title":"($DircatConfig)",
  "@folder":false,
  "@private":false,
  "@modified":"2012-02-03T14:50:03Z",
  "@unid":"50458575F2AA5F918525690D004F0AB5",
  "@href":"http:\/\/192.168.1.30:80\/names.nsf\/api\/data\/collections\/unid\/50458575F2AA5F918525690D004F0AB5"

@符号让我对Javascript框架感到悲伤,Javascript框架可以直接绑定到数据,因为如果包含@,则不能使用点符号绑定到各个属性名称。

我正在尝试的框架是http://angularjs.org/,示例绑定可能是

{{databases。@ title}}< - 不起作用,而{{databases.title}}< - 作品

我已将此标记为XPages,因为它与扩展程序库相关。

1 个答案:

答案 0 :(得分:5)

属性名称在extlib的com.ibm.domino.services.rest.RestServiceConstants类中设置,例如:

...
public static final String ATTR_UNID = "@unid"; //$NON-NLS-1$   
public static final String ATTR_NOTEID = "@noteid"; //$NON-NLS-1$
public static final String ATTR_LINK = "@link"; //$NON-NLS-1$
public static final String ATTR_LINK_REL = "rel"; //$NON-NLS-1$
public static final String ATTR_LINK_HREF = "href"; //$NON-NLS-1$
...

由于它们是公共静态最终字符串,因此您必须扩展DAS并使用扩展类。

但是我相信你应该能够以这种方式访问​​属性而不是点符号:

database['@title']

希望这有帮助。