第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods

简介: 第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods

第五十二章 开发自定义标签 - Using  csr %CSP.AbstractAtom Write Methods

规则类的RenderStartTagRenderEndTag方法中使用的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)


相关文章
|
JavaScript 编译器 Go
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
87 0
|
SQL JavaScript 前端开发
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
135 0
|
JavaScript 前端开发 Go
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
125 0
|
前端开发 JavaScript 编译器
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
119 0
|
前端开发 程序员 Go
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
121 0
|
JavaScript 前端开发 Go
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
99 0
|
SQL Go
第三十章 使用 CSP 进行基于标签的开发 - 控制流
第三十章 使用 CSP 进行基于标签的开发 - 控制流
90 0
|
SQL 存储 编译器
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
95 0
|
JavaScript 前端开发 Go
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
84 0
|
XML JavaScript 前端开发
第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
99 0