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


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

    控制流

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

    csp:if Tag

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

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

    <csp:if condition='user="Jack"'>
    Welcome Jack!
    <csp:elseif condition='user="Jill"'>
    Welcome Jill!
    <csp:else>
    Welcome!
    </csp:if>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    csp:while Tag

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

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

    标记通常与对象中的Caché %ResultSet一起使用,以HTML显示SQL查询的结果。
    在下面的示例中,标记的内容(它写出查询的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>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

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

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

    <table>
    <csp:while counter="row" condition="row<5">
    <tr><td>This is row #(row)#.</td></tr>
    </csp:while>
    </table>
    
    • 1
    • 2
    • 3
    • 4
    • 5

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

    <csp:while condition=mystr'="QUIT">
    //add code
    </csp:while>
    
    • 1
    • 2
    • 3

    csp:loop Tag:编号列表示例

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

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

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

    <ul>
    <csp:loop counter="x" FROM="1" TO="5">
    <li>Item #(x)#
    </csp:loop>
    </ul>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    艾美捷胆固醇肉豆蔻酸酯说明书和相关研究
    (vue)Js 获取剪贴板值
    语义分割 语义通信 增强模型图片处理
    [TCP/IP] Linux 搭建服务器局域网
    MySQL--MySQL表的增删改查(进阶)
    3 分钟为英语学习神器 Anki 部署一个专属同步服务器
    Python 中 Selenium 的 getAttribute() 函数
    Nginx RPM打包
    【问题已解决】OsgEarth_Viewer命令出现“无法定位程序输入点XXX于动态链接库XXX\osgdb_earth.dll上”问题解析
    sqlserver问题
  • 原文地址:https://blog.csdn.net/yaoxin521123/article/details/127583428