第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
CSP 标记语言
CSP 标记语言是一组指令和标记,可用于控制 CSP 编译器生成的类。
当编译 CSP 文档时,结果是一个执行 ObjectScript 或 Basic 代码的 Caché 类。请记住这一点,以帮助开发正确的应用程序逻辑以及执行故障排除。事实上,可能会发现检查 CSP 编译器生成的代码是了解更多关于 CSP 和 CSP 标记语言的有用方法。
跟踪 CSP 服务器上执行的代码(因为它准备对 HTTP 请求的响应)以及要在 HTTP 客户端上执行的代码(例如 HTML 和 JavaScript)也很重要。
CSP 页面语言
默认情况下,CSP 编译器计算运行时表达式并使用 ObjectScript 生成代码。对于给定的 CSP 文档,可以通过将 PAGE 指令放在文档顶部来将此默认值更改为 Basic:
<%@ page language="Basic" %>
有关示例,请参阅 CSP 示例中包含的 basic.csp 应用程序(单击源以查看源)。
在 CSP 文档中,运行时表达式以及任何服务器端 <script> 标记的内容必须使用页面的默认语言(否则会收到编译时错误)。或者可以用不同的语言定义一个方法,然后从默认语言调用它。
Text
CSP 文档(HTML 或 XML)中包含的任何不是 CSP 指令或特殊标记的文本都将原封不动地发送到请求页面的 HTTP 客户端。
例如,包含以下内容的 CSP 文档:
<b>Hello!</b>
在生成的类中生成以下代码:
Write "<b>Hello!</b>",!
反过来,它将以下内容发送到 HTTP 客户端:
<b>Hello!</b>
编译时表达式和代码
可以指定在 CSP 页面的编译时(而不是运行时)计算表达式。此类表达式通常用于 CSP 规则定义中,尽管有时它们可能在其他地方使用。
编译时表达式使用 ##(expr)## 指令分隔,其中 expr 是 ObjectScript 表达式。
例如,包含以下内容的 CSP 文档:
This page was compiled on: <b>##($ZDATETIME($H,3))##</b>
在生成的类中生成以下代码:
Write "This page was compiled on <b>2000-08-10 10:22:22</b>",!
还可以使用 <script> 标记的 runat 属性定义要在页面编译时执行的代码行:
<script language="Cache" runat="compiler">
注意:必须使用 ObjectScript 编写所有编译时表达式和代码。

浙公网安备 33010602011771号