第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
规则类的RenderStartTag
和RenderEndTag
方法中使用的write
方法负责将规则定义创建的代码写入CSP page
类。这允许CSP page
类包含在请求页面时展示预期行为所需的适当命令。%CSP.AbstractAtom
,包含这些写方法的定义:
WriteText
WriteCSPText
WWriteExpression
WWriteServer
WWriteCSPServer
WriteText Method
WriteText(line As %String, crlf As %Boolean = 0)
WriteText
命令在CSP page
类中生成一个写命令来写入一行的内容。它接受两个参数:要写入的字符串,以及指示是否应该写入换行符的回车换行布尔值。
WriteCSPText Method
WriteCSPText(line As %String, crlf As %Boolean = 0)
WriteCSPText
命令在CSP page
类中生成Write命令,通过处理##()##
、##''#
、#server
、#url
和#()#
表达式来写入一行的内容。它接受两个参数:要写入的字符串,以及指示是否应该写入换行符的回车换行布尔值。例如,在. csr
规则文件中的<csr:action>
标记正文中的以下行:
<B><I>##(##this.GetAttribute("VALUE"))##</I></B>
编译时在规则类中生成以下语句:
Do ..WriteCSPText("<B><I>##(##this.GetAttribute(""VALUE""))##</I></B>",0)
WriteExpressionText Method
WriteExpressionText(expr As %String, crlf As %Boolean = 0)
WriteExpressionText
命令在CSP page
类中生成write
命令,以写入ObjectScript
表达式返回的文本。返回的文本应该已经被正确引用。它接受两个参数:要写入的字符串,以及指示是否应该写入换行符的回车换行布尔值。
WriteServer Method
WriteServer(line As %String, keepTogether As %Boolean = 0)
WriteServer
命令在CSP
页面类中生成一个ObjectScript
命令,该命令位于第行。它接受两个参数:要写入的字符串和一个布尔值,该值指示是否将该字符串追加到前面的语句中。
WriteCSPServer Method
WriteCSPServer(line As %String, keepTogether As %Boolean = 0)
WriteCSPServer
命令在CSP
页面类中生成一个ObjectScript
命令,该命令符合##()#
、#()#
和##''##
resolved。它接受两个参数:要写入的字符串和一个布尔值,该值指示是否将该字符串追加到前面的语句中。例如,. csr
规则文件中的以下ObjectScript
代码:
<script language="Cache" runat=server>
Set myfile="c:\temp.txt"
Open myfile:(80:"C":"|")
Use myfile:()
Read ^client(3,1,1)
Close myfile
</script>
编译时在规则类中生成以下语句:
Do ..WriteCSPServer(" Set myfile=""c:\temp.txt""",0)
Do ..WriteCSPServer(" Open myfile:(80:""C"":""|"") ",1)
Do ..WriteCSPServer(" Use myfile:()",1)
Do ..WriteCSPServer(" Read ^client(3,1,1)",1)
Do ..WriteCSPServer(" Close myfile",1)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异