值包含chr(10)的文本字段在Xpages中仅显示第一行

值包含chr(10)的文本字段在Xpages中仅显示第一行,xpages,Xpages,我有一个现有的应用程序,其中有一些字段在文本中包含chr(10)作为新行分隔符。现在我发现JavaAPI(和Xpages控件)无法从这些字段中读取完整的文本,并且总是将字符串剪切到第一个chr(10)。无法确定如何从字段中获取全文。有人已经解决了吗 在我的应用程序中,字段值是使用Lotus脚本创建的,例如 doc.field=doc.field(0) & Chr(10) & "text" . 现在在xpages中(使用java api bydoc.getItemValueSt

我有一个现有的应用程序,其中有一些字段在文本中包含chr(10)作为新行分隔符。现在我发现JavaAPI(和Xpages控件)无法从这些字段中读取完整的文本,并且总是将字符串剪切到第一个chr(10)。无法确定如何从字段中获取全文。有人已经解决了吗


在我的应用程序中,字段值是使用Lotus脚本创建的,例如

doc.field=doc.field(0) & Chr(10) & "text" . 

现在在xpages中(使用java api by
doc.getItemValueString(“field”))
我只返回文本,直到第一个chr(10)值。

Hmm-只是快速尝试了一下,但我无法确认这一点,所以可能不是真的/只是chr(10)在这里造成麻烦

无论如何,您可以尝试的是为相关字段定制一个转换器。只需为计算的“getAsString”属性输入如下代码:

value.split(String.fromCharCode(10)).join(" - ");
或使用任何其他(合法)字符作为最终联接

如果您需要将输入重新转换回其他内容,请将相应的代码放入“getAsObject”,或者将值本身传递回


对我来说效果很好。

我不确定在notes客户端的文本字段中按enter键是否会创建一个chr(10),但请尝试一下此转换器:

<xp:this.converter>
    <xp:customConverter>
        <xp:this.getAsObject><![CDATA[#{javascript:@Explode(value,"\n");}]]></xp:this.getAsObject>
        <xp:this.getAsString><![CDATA[#{javascript:@Implode(value,"\n");}]]></xp:this.getAsString>
    </xp:customConverter>
</xp:this.converter>


一个代码示例很好=)在我的应用程序中,字段值是使用Lotus脚本创建的,例如doc.field=doc.field(0)&Chr(10)&text。现在在xpages中(并通过doc.getItemValueString(“field”)使用java api),在第一个chr(10)值之前,我只返回文本…使用getItemValue而不是getItemValueString。尝试过但不起作用。我甚至在xpage上使用了计算文本,但它并没有显示全部值。我在xpage上创建了textarea字段,但也没有显示整个值..1。使用
doc.getValue(“字段”)
而不是
getItemValue
getItemValueString
。2.这个数据的用例是什么?从用户的角度来看,一旦你有了正确的价值,知道你想用它做什么可能有助于提供最理想的推荐。尝试过但没有办法。我甚至在开始时将print(value)放入convertor getAsString中,但只能看到整个文本的第一部分:-(我查看了前一个文本,但它实际上只是chr(10)非常奇怪;为了测试这一点,我在表单中编写了一些LS按钮代码,将其放入字段:“Line 1”&chr$(10)和“Line 2”。使用该属性保存文档后,我可以通过文档属性看到该字段包含由换行符拆分的两个字符串行。通过Xpage编辑框呈现该字段,结果是一行字符串,如下所示:-“第1行第2行”,所以换行符被省略。-可能写一些代码来分析整个字段内容,并返回每个字符的ascii代码。可能除了Chr(10)之外,LN客户端a的属性框中还有一些奇怪的东西可以看到整个值。但更具体地说,代码有点奇怪(它不是我的,它的应用程序来自我们的客户)因为值是通过NotesItem方法附加到单个值字段的,比如:Call item.AppendToTextList(oldtxt&Chr(10)&sttxt)ok那是另一回事了:一个真正的Notes文本列表,其中至少有一个列表元素包含换行符!-在这种情况下,您还应该尝试编辑框的“multipleSeparator”属性,然后查看接下来会发生什么。还要检查Notes字段是否包含文本列表而不是纯文本。在属性框的单值文本字符串中,前开发人员刚刚使用AppendToTextList将值放入字段中。