0

我想在 Xpages 上使用长字符串(最小大小:100kb)。我认为存储大字符串的最佳方法是在“富文本”类型的数据字段中。现在我被这个字符串的数据处理困住了。如何在服务器和客户端之间传输此字符串?

到目前为止,我尝试过:

  • 数据绑定控件:富文本字段(问题:格式化文本、标签)、文本字段(问题:在一定大小后不起作用)

  • 实现一个休息服务:响应体将在某一点被切断

     <xe:restService pathInfo="getTestString">
     <xe:this.service>
         <xe:customRestService>
             <xe:this.doGet><![CDATA[#{javascript:var id = context.getUrlParameter("documentId");
             session.getCurrentDatabase().getDocumentByID(id).getItemValueString("test");}]]></xe:this.doGet>
         </xe:customRestService>
     </xe:this.service>
    </xe:restService>
    
    
    var url = new URL(window.location.href);
    var documentId = url.searchParams.get("documentId");
    xhr.open('GET', './rest.xsp/getTestString?documentId=' + documentId, true);;
    xhr.send(null);
    xhr.response;
    

所以我想知道我是否错过了我的 REST 服务的配置。还有哪些其他替代方案可用于在 Xpages 上的客户端和服务器之间传输大数据?

4

1 回答 1

2

我测试了你的场景。doc.getItemValueString()仅从富文本字段中读取 64 KB 的数据。如果您想要所有可以使用的数据(在 SSJS 中):

var doc = database.getDocumentByUNID(id);
var item:NotesRichTextItem = doc.getFirstItem('test');
return item.getUnformattedText();

看起来该方法从富文本项返回确切的文本,没有插入段落字符。

于 2021-07-02T08:57:34.957 回答