第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言

简介: 第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言

第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言

CSP 标记语言

CSP 标记语言是一组指令和标记,可用于控制 CSP 编译器生成的类。

当编译 CSP 文档时,结果是一个执行 ObjectScriptBasic 代码的 Caché 类。请记住这一点,以帮助开发正确的应用程序逻辑以及执行故障排除。事实上,可能会发现检查 CSP 编译器生成的代码是了解更多关于 CSPCSP 标记语言的有用方法。

跟踪 CSP 服务器上执行的代码(因为它准备对 HTTP 请求的响应)以及要在 HTTP 客户端上执行的代码(例如 HTMLJavaScript)也很重要。

CSP 页面语言

默认情况下,CSP 编译器计算运行时表达式并使用 ObjectScript 生成代码。对于给定的 CSP 文档,可以通过将 PAGE 指令放在文档顶部来将此默认值更改为 Basic

<%@ page language="Basic" %>
复制代码

有关示例,请参阅 CSP 示例中包含的 basic.csp 应用程序(单击源以查看源)。

CSP 文档中,运行时表达式以及任何服务器端 <script> 标记的内容必须使用页面的默认语言(否则会收到编译时错误)。或者可以用不同的语言定义一个方法,然后从默认语言调用它。

Text

CSP 文档(HTMLXML)中包含的任何不是 CSP 指令或特殊标记的文本都将原封不动地发送到请求页面的 HTTP 客户端。

例如,包含以下内容的 CSP 文档:

<b>Hello!</b>
复制代码

在生成的类中生成以下代码:

Write "<b>Hello!</b>",!
复制代码

反过来,它将以下内容发送到 HTTP 客户端:

<b>Hello!</b>
复制代码

编译时表达式和代码

可以指定在 CSP 页面的编译时(而不是运行时)计算表达式。此类表达式通常用于 CSP 规则定义中,尽管有时它们可能在其他地方使用。

编译时表达式使用 ##(expr)## 指令分隔,其中 exprObjectScript 表达式。

例如,包含以下内容的 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 编写所有编译时表达式和代码。

相关文章
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
第五十二章 开发自定义标签 - Using csr %CSP.AbstractAtom Write Methods
71 0
|
JavaScript 编译器 Go
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
第五十一章 开发自定义标签 - 使用%CSP.Rule方法
81 0
|
SQL JavaScript 前端开发
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
第三十六章 使用 CSP 进行基于标签的开发 - 使用尽可能少的#server和#call调用
128 0
|
JavaScript 前端开发 Go
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
第三十四章 使用 CSP 进行基于标签的开发 - Hyperevent例子
118 0
|
前端开发 JavaScript 编译器
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
第三十三章 使用 CSP 进行基于标签的开发 - 使用Hyperevents #server和#call调用服务器端方法
111 0
|
前端开发 程序员 Go
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
第三十二章 使用 CSP 进行基于标签的开发 - 服务器端方法
118 0
|
JavaScript 前端开发 Go
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
第三十一章 使用 CSP 进行基于标签的开发 - 转义和引用HTTP输出
95 0
|
SQL Go
第三十章 使用 CSP 进行基于标签的开发 - 控制流
第三十章 使用 CSP 进行基于标签的开发 - 控制流
85 0
|
SQL 存储 编译器
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
89 0
|
JavaScript 前端开发 Go
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
80 0