技术开发 频道

在Domino应用程序中集成Google的Web API服务

可考虑的其他思路
goSearch 代理可以计划在非高峰时间运行,以降低流量和提高效率。另一种改进 goSearch 代理的思路是在每当遇到 HTML 格式的字符串时调用分析器。

清单 8. 在 goSearch 中调用分析器的代码
...
            class Parser {
            //renderHTML takes 5 arguments: HTML string,
            rich text style, rich text item
            reference, delimiter 1 and 2
            void renderHTML(String html, RichTextStyle style, RichTextItem rtitem,
            String delim1, String delim2) {
            try {
            System.out.println("html:" + html);
            style.setColor(RichTextStyle.COLOR_BLUE);
            //renders HTML into rich text fields
            while (html.length() > 0 ) {
            int i = html.indexOf(delim1);
            int j = html.indexOf(delim2);
            style.setBold(RichTextStyle.NO);
            int k = i;
            int len = 3;
            if (j<i || (>i && i==-1)) {
            style.setBold(RichTextStyle.YES! );
            k=j;
            len=4;
            }
            //no more <b> or </b> left on str
            if (i==-1 && j==-1) {
            rtitem.appendStyle(style);
            rtitem.appendText(html);
            break;
            }
            String sstr = html.substring(0,k);
            if (sstr.length()==0) {
            sstr="";
            }
            rtitem.appendStyle(style);
            rtitem.appendText(sstr);
            html = html.substring(k+len);
            }
            } catch(Exception e) {
            e.printStackTrace();
            }
            }
            }
            

这样得到的结果是一个更紧凑的代理类。

您可以使用 delim1 和 delim2 参数来扩充这个分析器所能处理的 HTML 标签集(比如 <h1>……</h1> 或 <p>),从而进一步扩展将 HTML 输入呈现为 Notes RTF 字段的思想。

0
相关文章