You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Domino表单刷新后计算型RTF内邮件超链接显示为HTML源码问题

问题根因
  • 富文本的Pass-Thru HTML属性为段落级属性,并非字段全局属性:你在表单设计中给该RTF域标记的Pass-Thru属性仅对表单首次加载、由公式默认计算生成的内容生效。当代理更新该域内容时,新写入的内容不会自动继承Pass-Thru标记,Domino渲染时会将内容内的HTML标签作为普通文本转义输出,因此前端直接显示原始HTML代码。
  • 代理赋值逻辑不符合RTF域的HTML写入规则:如果代理中直接通过普通文本字段的赋值方式更新RTF域(比如使用NotesItem.Text属性赋值),会自动对特殊字符做转义处理,同时丢失格式标记,导致HTML标签无法被识别。
  • 局部刷新逻辑未触发正确渲染:若搜索按钮触发的是页面局部刷新而非整页重载,Domino的部分刷新机制不会重新解析Pass-Thru标记,会直接返回纯文本内容到前端展示。
修复方案
  • 调整代理内的RTF域写入逻辑:以LotusScript代理为例,写入HTML内容时需显式给内容段落设置Pass-Thru属性,示例代码如下:
Dim session As New NotesSession
Dim doc As NotesDocument
' 此处省略获取当前文档的逻辑
Dim rtItem As NotesRichTextItem
Set rtItem = doc.GetFirstItem("你的计算型RTF域名")
' 清空原有内容
Call rtItem.Remove()
Set rtItem = New NotesRichTextItem(doc, "你的计算型RTF域名")
' 写入HTML内容
Call rtItem.AppendText("Below are the groups that you have authority to administer. Please select one. If you have other groups that you would like to administer online, please email <a href=""mailto:EmailAddress@Organization.org"">EmailAddress@Organization.org</a>.")
' 关键配置:设置段落为Pass-Thru HTML
Dim rtStyle As NotesRichTextStyle
Set rtStyle = session.CreateRichTextStyle
rtStyle.PassThruHTML = True
Call rtItem.ApplyStyle(rtStyle)
' 保存文档
Call doc.Save(True, False)
  • 调整域计算与渲染配置:将该计算型RTF域的计算时机设置为「每次刷新都计算」,如果是Web端渲染,也可以在域的HTML属性中添加disable-output-escaping="yes",强制Domino输出原始内容不转义。
  • 调整搜索按钮的刷新逻辑:如果当前使用的是局部刷新,可改为整页重载,确保表单重新解析RTF域的Pass-Thru属性。如果必须使用局部刷新,可在前端收到返回结果后手动将内容插入到页面对应位置,跳过Domino的自动转义逻辑。

内容的提问来源于stack exchange,提问作者RoyRumaner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:06:03