我想在Ajax的视图中获取文档总计数,如下所示:h t t p://.../viewname?readviewentries
我得到了一个名为" toplevelentries"的属性,但是有一个问题:价值是固定的已登录。
那么,我怎样才能从那里得到一个确切的值?也就是说,我只需要显示当前用户允许访问的文档计数。
答案 0 :(得分:1)
创建XPage" NumberOfViewEntries"
<?xml version="1.0" encoding="UTF-8"?>
<xp:view
xmlns:xp="http://www.ibm.com/xsp/core"
rendered="false"
viewState="nostate">
<xp:this.afterRenderResponse><![CDATA[#{javascript:
var externalContext = facesContext.getExternalContext();
var writer = facesContext.getResponseWriter();
var response = externalContext.getResponse();
response.setContentType('application/json');
response.setHeader('Cache-Control', 'no-cache');
var vw:NotesView = session.getCurrentDatabase().getView(param.view);
try {
writer.write('{"entries":' + vw.getAllEntries().getCount() + '}');
} catch(e) {
writer.write('{"error":"' + e + '"}');
}
writer.endDocument();
}]]></xp:this.afterRenderResponse>
</xp:view>
并调用网址
http://server/database/NumberOfViewEntries.xsp?view=yourViewName
它将返回例如。
{"entries":57}
它将仅计算当前用户至少具有读者访问权限的那些视图条目。