第三十章 使用 CSP 进行基于标签的开发 - 控制流

简介: 第三十章 使用 CSP 进行基于标签的开发 - 控制流

第三十章 使用 CSP 进行基于标签的开发 - 控制流

控制流

CSP标记语言提供了几个标记来促进对页面执行的控制。 虽然不像直接的服务器端标记那样通用,但这些标记可以使某些任务容易完成。

csp:if Tag

<csp:if>标记,以及<csp:else><csp:elseif>标记,提供了一种在csp页面中定义条件输出的方法。

<csp:if>标记具有单个属性、条件,其值是由csp服务器在运行时计算的ObjectScriptBasic表达式(取决于为页面指定的默认语言)。 如果该值为true,则执行标记的内容。

<csp:if condition='user="Jack"'>
Welcome Jack!
<csp:elseif condition='user="Jill"'>
Welcome Jill!
<csp:else>
Welcome!
</csp:if>
复制代码

csp:while Tag

<csp:while>标记提供了一种方法,只要给定的服务器端条件为真,就可以重复处理csp文档的某一部分。

<csp:while>标记的条件属性包含一个ObjectScriptBasic表达式(取决于页面的默认语言),该表达式在提供页面时在csp服务器上计算。 只要条件的计算结果为true(1),就计算csp:while标记的内容。

<csp:while>标记通常与对象中的Caché %ResultSet一起使用,以HTML显示SQL查询的结果。 在下面的示例中,<csp:while>标记的内容(它写出查询的Name列的值)被重复执行,直到对象的Next方法中的%ResultSet返回值FALSE(0),这表示结果集的结束。

<script language=SQL name=query>
SELECT Name
FROM MyApp.Employee
ORDER BY Name
</script>
<csp:while condition="query.Next()">
#(..EscapeHTML(query.Get("Name")))#<BR>
</csp:while>
复制代码

使用<csp:while>标记的计数器属性,可以定义一个计数器变量,该变量初始化为0(0),并在每次迭代开始时自动增加1(1)。

例如,这里有一种使用<csp:while>标记创建5行HTML表的方法:

<table>
<csp:while counter="row" condition="row<5">
<tr><td>This is row #(row)#.</td></tr>
</csp:while>
</table>
复制代码

下面是一个在条件中使用not操作符(单引号)的例子。 注意,该条件不能包含任何空格,也不包括开始和结束引号。 也可以使用括号(mystr'= " QUIT ")来声明条件。

<csp:while condition=mystr'="QUIT">
//add code
</csp:while>
复制代码

csp:loop Tag:编号列表示例

<csp:loop>标记提供了重复执行csp文档中的内容的另一种方法。

<csp:loop>标记允许定义一个计数器变量(使用它的counter属性)以及它的起始值、结束值和递增值。 默认的增量值为1

例如,可以使用<csp:loop>标签创建一个包含5项的列表:

<ul>
<csp:loop counter="x" FROM="1" TO="5">
<li>Item #(x)#
</csp:loop>
</ul>


相关文章
第五十二章 开发自定义标签 - 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 存储 编译器
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
第二十九章 使用 CSP 进行基于标签的开发 - 服务器端方法
89 0
|
JavaScript 前端开发 Go
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
第二十八章 使用 CSP 进行基于标签的开发 - 运行时表达式
80 0
|
XML JavaScript 前端开发
第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
第二十七章 使用 CSP 进行基于标签的开发 - CSP 标记语言
96 0