RTF域在b/s下的一些使用技巧 - wnight88 - 51CTO技术博客

来源:百度文库 编辑:神马文学网 时间:2024/05/14 09:50:00
RTF域在b/s下的一些使用技巧2009-04-21 13:17:11
标签:DominoRTF   [推送到技术圈]
RTF域在b/s下的一些使用技巧
根据网络上的一些资料以及个人使用的经验,总结一些rtf域的特性供各位参考:
1、 使用rtf域在b/s上存储内容突破域大小限制的问题。
很多时候,存储超过64k的限制,在这个时候:
错误的代码:
String s = “html 内容” ;
s +=    “….”;
s+= “……”;
doc.replaceItemValue(“ItemName”,s);
正确的代码:
RichTextItem rtf = (RichTextItem) doc.getFirstItem(“ItemName”);
rtf.appendText(“html 内容”);
rtf.apendText(“………..”);
在domino中,如果内容超过限制,domino 会自动在文档中生成多个同名域来存储相关内容。
2、 使用rtf域显示随机生成的html代码:
首先:要确定,超过64k的时候一定要使用第一点所表述的方法。
其次:如果在页面上没有正确的显示html代码所描述的界面,而是将html代码显示出来,解决方法如下:
A、 如果存在循环
for(int i=0;i{
rtf.apendText(“[”);
…………….
循环主体
…………….
rtf.apendText(“]”);
}
B、 如果还未解决问题,可以使用如下代码(未经实际验证,后果自负)
Dim richStyle
As NotesRichTextStyle
Set richStyle = session.CreateRichTextStyle
Call cdoc.RemoveItem( "Body" )
Dim myrichText As New NotesRichTextItem(cdoc, "Body")
richStyle.PassThruHTML = True
Call myrichText.AppendStyle(richStyle)
Call myrichText.AppendText(getHtml)
说明:上面所讲的内容包括使用lotusscript或者java。请自行根据所用语言进行相应转换。
第二点的a方法要注意在取rtf域时的方法
if(doc.hasitem("ItemName"))
{
doc.removeItem("ItemName");
}
RichTextItem rtf = (RichTextItem) doc.getFirstItem("ItemName");