1.7.11 酷屏模板语言语法
1.7.11.1 语法格式<##>
所有的模板语言语句块,都以<#开头,以#>结尾。如<#=login.id#>,输出登录者id;如<#if(3>2)#>3大于2<#else#>3小于2<#endif#>,含义是:如果3>2为真就输出3大于2,否则输出3小于2,此实例输出:3大于2。
1.7.11.1.1 赋值语句<#=#>
语法:<#=#>
示例如下:
1.7.11.1.2 条件语句<#if#>
语法:
<#if(condition)#>XXXX<#else#>YYYY<#endif#>
或
<#if(condition1)#>AAA<#elseif(condition2)#>BBB<#elseif(condition3)#>CCC...<#elseif(conditionN)#>DDD<#else#>EEE<#endif#>
举例说明:
1.7.11.1.3 循环语句<#for#>
语法:
<#for()#><#endfor#>
具体的,形如:
<#for(I in ["一", "二", "三","四","五","六","日"])#>小明<#if(I="六"|I="日")#>不需要<#else#>需要<#endif#>在星期<#=I#>上班<br/><#endfor#>
返回值如下:
小明需要在星期一上班
小明需要在星期二上班
小明需要在星期三上班
小明需要在星期四上班
小明需要在星期五上班
小明不需要在星期六上班
小明不需要在星期日上班
特点说明:
(1) for括号内的内容仅支持“循环变量名 in 数组”这种形式。
(2) for循环变量名需要符合一定规范:以下划线或英文字母开头,所有字符都必须是下划线、英文字母或数字之一。
(3) for循环变量名与in之间至少有一个空格,in与数组之间至少有一个空格。
(4) for循环体内的内容,就是需要根据数组传递的循环变量,进行重复处理的文本输入内容。
(5) for循环变量可以在循环体内使用,具体的,可以在循环体内的if中使用,也可以在循环体内的赋值语句中使用。
(6) for循环内,可以包含条件语句<#if或赋值语句#>,甚至可以包含for进行嵌套循环。
1.7.11.1.4 变量赋值语句<# ASSIGN#>
动态的将常量或计算结果,临时赋值给指定名字的变量,本身不替换内容,没有输出内容到结果串中,仅提供给其他地方(作用域范围内的地方)使用。
语法:
<#assign 变量名=变量语句表达式#>
特点说明:
(1) 以<#assgin开头,以对应的#>结尾,中间内容作为变量赋值语句。
(2) <#assign后必须跟至少一个空格。
(3) assign变量赋值语句中的变量名,必须符合变量名规范:以下划线或英文字母开头,所有内容字符必须是下划线、英文字母或数字任意之一。
(4) 作用域:只能作用于此<#assign后的语句。对于HTML组件,只能作用于当前HTML组件。
(5) 对同一个变量名赋值多次,后面的赋值覆盖之前赋的值。
(6) 这里的变量名区分大小写(即大小写敏感)。
举例说明:
输入:开始x赋值<#assign x="123"#>。x赋值完成。x的值为:<#=x#>。
输出:开始x赋值。x赋值完成。x的值为:123。
1.7.11.2 应用举例
1.7.11.2.1 动态给定div标签体内的文字内容
<div style="background-color:grey">
登录用户名:<#=login.user.name#>,所属机构:<#=login.org.caption#>
</div>
1.7.11.2.2 动态改变dom结构
<br/>
<span>ddd</span>
<#if(mod(asint(mid(now(),3,2)),2)=0)#>
<div class="c1">
sth
</div>
<#else#>
<div class="c2">
someplace
</div>
<#endif#>
1.7.11.2.3 使用循环的例子
li {
list-style-type: square;
list-style-position: outside;
}
<ul>
<#for(I in [2,4,6,8,9])#>
<li>这里是列表内容<#=I#></li>
<#endfor#>
</ul>
1.7.11.2.4 一个完整的页面
请先登录