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

时间:2013-12-19 11:02:20

标签: xpages

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

在我的应用中,使用Lotus Script创建字段值,例如

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

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

2 个答案:

答案 0 :(得分:1)

嗯 - 刚刚给了它一个快速的尝试,但我无法证实这一点,所以也许这不是真的/只有一个Chr(10)在这里造成麻烦?

无论如何,您可以尝试的是针对相关字段的自定义转换器。只需为计算出的“getAsString”属性输入这样的代码:

value.split(String.fromCharCode(10)).join(" - ");

或者使用任何其他(合法)字符进行最终加入。

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

很适合我。

答案 1 :(得分:1)

我不确定在Notes客户端的文本字段中输入是否会创建一个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>