在rtf中写和阅读文本的问题

问题描述 投票:0回答:1

在Xpage中我有以下rtf:

<xp:inputRichText value="#{document1.example_doc}">
        <xp:this.attrs>
                <xp:attr name="toolbar">
                         <xp:this.value><![CDATA[            [
            ["Bold", "Italic", "Underline", "Strike", "-", "TextColor", "BGColor" ],
            ["Indent", "Outdent"]
                                                ]
                ]]>       </xp:this.value>
                </xp:attr>
        </xp:this.attrs>
</xp:inputRichText>

保存此文档时,我会在每行的开头看到<p dir =“ltr”>。之后当我尝试使用var rtf = doc.getFirstItem("example_doc").getText();读取此rtf的文本时,这给我带来了问题

结果始终为空字符串

所以,或者我找到了另一种保存rtf的方法,或者我找到另一种方法来读取rtf的文本

xpages-ssjs
1个回答
0
投票

我找到了解决问题的方法。

我将viewScope变量(exampl_doc)绑定到inputRichText的data属性。在保存按钮的onclick事件中,我用<p>替换所有<p dir =“ltr”>

以这种方式,然后使用var rtf = doc.getFirstItem(“example_doc”)读取rtf。getText(); ,我正在获得该字段的正确文本。

try{
   var regex = /<p dir="ltr">/gi;
   var rtf = viewScope.example_doc.toString().replace(regex, '<p>');
   document1.replaceItemValue("example_doc",rtf);
   document1.save();
}
catch(e){
   sessionScope.error +=e.toString();
}
© www.soinside.com 2019 - 2024. All rights reserved.