如何快速获取文档中的总计数? (Lotus Domino)

时间:2014-12-14 07:07:51

标签: ajax lotus-domino lotus

我想在Ajax的视图中获取文档总计数,如下所示:h t t p://.../viewname?readviewentries我得到了一个名为" toplevelentries"的属性,但是有一个问题:价值是固定的已登录。

那么,我怎样才能从那里得到一个确切的值?也就是说,我只需要显示当前用户允许访问的文档计数。

1 个答案:

答案 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}

它将仅计算当前用户至少具有读者访问权限的那些视图条目。