RTF域在b/s下的一些使用技巧
2010-01-20 15:04
155 查看
根据网络上的一些资料以及个人使用的经验,总结一些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<n;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");
Domino附件分开存取实例
import java.util.Vector;
import lotus.domino.AgentBase;
import lotus.domino.AgentContext;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.Session;
/**
* @类名:SaveToPic
* @功能:将本文档中的附件保存到图片库
* @author wnight88
* @时间: 2009-4-10
*/
public class SaveToPic extends AgentBase
{
public void NotesMain()
{
try
{
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
//当前文档
Document currentDoc = agentContext.getDocumentContext();
//图片库文档的ID号,若没有则为空
String picDocUnid = currentDoc.getItemValueString("picDocUnid");
//当前数据库及视图、视图中对应的文档
Database thisDB = agentContext.getCurrentDatabase();
Document thisDoc = thisDB.getDocumentByUNID(currentDoc.getUniversalID());
//图片库的文档,创建及追加
Database goalDB = session.getDatabase(thisDB.getServer(), "whcg//wjkhPic.nsf");
Document goalDoc = null;
if(picDocUnid.equals(""))
{
goalDoc = goalDB.createDocument();
thisDoc.copyAllItems(goalDoc,true);
goalDoc.replaceItemValue("form", "newPic");
goalDoc.replaceItemValue("unid", thisDoc.getUniversalID());
goalDoc.save(true,true);
}
else
{
goalDoc = goalDB.getDocumentByUNID(picDocUnid);
thisDoc.copyAllItems(goalDoc,false);
goalDoc.save(true,true);
}
//读取附件列表,写入到连接域中
Vector fileNames = session.evaluate("@AttachmentNames", goalDoc);
String url = "";
for (int i = 0; i < fileNames.size(); i++)
{
url = url + "<br>" + "<img src='/whcg/wjkh.nsf/doclist.gif'><a href='/whcg/wjkhPic.nsf/0/"
+ goalDoc.getUniversalID() + "/$FILE/"
+ fileNames.get(i) + "'>" + fileNames.get(i)
+ "</a>";
}
String htmlString = "";
htmlString = htmlString
+ "<table class=tbbg align=center border=0 cellpadding=2 cellspacing=1>";
htmlString = htmlString + "<tr class=toptrbg>";
htmlString = htmlString + "<td>附件列表:</td>";
htmlString = htmlString + "</tr>";
htmlString = htmlString + "<tr>";
htmlString = htmlString
+ "<td bgcolor=f8f8f8>";
htmlString = htmlString + url;
htmlString = htmlString + "</td>";
htmlString = htmlString + "</tr>";
htmlString = htmlString + "</table>";
thisDoc.replaceItemValue("attachmentList", htmlString);
//删除原文档中的附件
if(thisDoc.getFirstItem("$File") != null)
{
thisDoc.getFirstItem("$File").remove();
}
thisDoc.replaceItemValue("picDocUnid", goalDoc.getUniversalID());
thisDoc.save(true,true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
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<n;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");
Domino附件分开存取实例
import java.util.Vector;
import lotus.domino.AgentBase;
import lotus.domino.AgentContext;
import lotus.domino.Database;
import lotus.domino.Document;
import lotus.domino.Session;
/**
* @类名:SaveToPic
* @功能:将本文档中的附件保存到图片库
* @author wnight88
* @时间: 2009-4-10
*/
public class SaveToPic extends AgentBase
{
public void NotesMain()
{
try
{
Session session = getSession();
AgentContext agentContext = session.getAgentContext();
//当前文档
Document currentDoc = agentContext.getDocumentContext();
//图片库文档的ID号,若没有则为空
String picDocUnid = currentDoc.getItemValueString("picDocUnid");
//当前数据库及视图、视图中对应的文档
Database thisDB = agentContext.getCurrentDatabase();
Document thisDoc = thisDB.getDocumentByUNID(currentDoc.getUniversalID());
//图片库的文档,创建及追加
Database goalDB = session.getDatabase(thisDB.getServer(), "whcg//wjkhPic.nsf");
Document goalDoc = null;
if(picDocUnid.equals(""))
{
goalDoc = goalDB.createDocument();
thisDoc.copyAllItems(goalDoc,true);
goalDoc.replaceItemValue("form", "newPic");
goalDoc.replaceItemValue("unid", thisDoc.getUniversalID());
goalDoc.save(true,true);
}
else
{
goalDoc = goalDB.getDocumentByUNID(picDocUnid);
thisDoc.copyAllItems(goalDoc,false);
goalDoc.save(true,true);
}
//读取附件列表,写入到连接域中
Vector fileNames = session.evaluate("@AttachmentNames", goalDoc);
String url = "";
for (int i = 0; i < fileNames.size(); i++)
{
url = url + "<br>" + "<img src='/whcg/wjkh.nsf/doclist.gif'><a href='/whcg/wjkhPic.nsf/0/"
+ goalDoc.getUniversalID() + "/$FILE/"
+ fileNames.get(i) + "'>" + fileNames.get(i)
+ "</a>";
}
String htmlString = "";
htmlString = htmlString
+ "<table class=tbbg align=center border=0 cellpadding=2 cellspacing=1>";
htmlString = htmlString + "<tr class=toptrbg>";
htmlString = htmlString + "<td>附件列表:</td>";
htmlString = htmlString + "</tr>";
htmlString = htmlString + "<tr>";
htmlString = htmlString
+ "<td bgcolor=f8f8f8>";
htmlString = htmlString + url;
htmlString = htmlString + "</td>";
htmlString = htmlString + "</tr>";
htmlString = htmlString + "</table>";
thisDoc.replaceItemValue("attachmentList", htmlString);
//删除原文档中的附件
if(thisDoc.getFirstItem("$File") != null)
{
thisDoc.getFirstItem("$File").remove();
}
thisDoc.replaceItemValue("picDocUnid", goalDoc.getUniversalID());
thisDoc.save(true,true);
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
相关文章推荐
- RTF域在b/s下的一些使用技巧
- RTF域在b/s下的一些使用技巧
- 一些VS2013的使用技巧
- GridView 使用的一些技巧
- Jsoup解析html的一些使用技巧
- iphone UINavigationController使用的一些技巧
- 个人经常使用的一些Eclipse技巧
- 【转帖】使用python爬虫抓站的一些技巧总结:进阶篇
- 笔记本使用中一些非专业性小技巧
- 宏定义的一些使用技巧总结
- iOS开发UI基础—14IOS开发中Xcode的一些使用技巧
- IOS的UITextField,UIButton,UIWebView的一些属性介绍和IOS图片资源的使用技巧
- 位运算的使用和一些技巧
- 本文写给那些像几年前的我一样刚刚走出校门,及一些未使用过这些高级些的调试技巧的人。
- web页面的一些使用技巧
- 一些Spring MVC的使用技巧
- 一些antivity的使用技巧
- Dundas for Reporting Services的一些的使用技巧
- 笔记下UltraEdit的一些常用使用技巧
- INFORMIX-SQL的一些使用技巧