zoukankan      html  css  js  c++  java
  • ClearSilver模板编程概述_转

    ClearSilver模板编程:
                                      http://blog.csdn.net/fanlinsun/article/details/8491481 
    1. 概述:
    clearsilver是一个用C语言实现的高性能的html模版系统.
    CS 模板系统包含两个组成部分:Dataset和Template Files。
    其中Dataset 为一种树状的数据结构,它被Template Files所引用,并生成最后的页面.
     
    Template Files 通常为静态页面元素以及CS 语句的组合,其中的CS 语句通过变量名称来引用dataset中的数据,并通过一定的语法规则生成动态的内容。
    引入CS之后,我们可以将静态的页面元素写入到模板文件中,而将XML数据源以及后台的参数导入到Dataset数据结构中,通过CS的库函数调用Dataset和Template File来生成整个动态页面。
     
    CS文件本身不符合XML规范。
     
    2. 变量的替换和定义
     
    包含:var,evar,lvar,include,linclude,set,name。
    常用:var,include,linclude,set
     
    <?cs var:code?>,这个简单的语句就会把code值打印出来
    <?cs include:”util”?>把文件包含进来
    <?cs linclude:”AAAA.cs”?> 执行文件AAAA.cs中的代码。
    <?cs set:account=””?>把account设定值为空。
    <?cs set:i=#5?>CS模板中数字都写成#1,#2的形式。
     
    3. 控制语句:
     
    命令有:if, else, elif, alt
     
    <?cs if:#1?>
    当前数字是1
    <?cs elif:#2?>
    当前数字是2
    <?cs else?>
    数字为其他
    <?cs /if?>
     
    4. 迭代语句
    命令有:each, loop, with
    常用:each
     
    <?cs each:items=res.item?>   遍历
    <?cs    var:items?>
    <?cs /each?>
     
    <?cs loop:x = #1, #205, #2 ?><?cs var:x ?>, <?cs /loop ?>  循环,输出:1,3,5,...,205
    <?cs loop:x = #205, #1, "-2" ?><?cs var:x ?>, <?cs /loop ?>  循环,输出:205, 203, 201, ... 1
     
     
    5,宏
     
    宏的命令:def, call
    def,定义宏的命令
    <?cs def:map_val(val, map) ?>    //遍历map,输出与val相等的值
        <?cs    each:item = map ?>
        <?cs        if:val == item ?>
        <?cs            var:item.val ?>
        <?cs        /if ?>
        <?cs    /each ?>
    <?cs /def ?>
     
    <?cs call:map_val(val,map)?>  调用函数(宏)
     
    6. 函数
     
    subcount(var),这个函数返回子节点的个数
    string.slice(expr, start, end),切片操作,相当于substring
    string.find(string, substr),查找函数,它会返回substr表达式的数字位置(如果找到的话),否则返回-1
    string.length(expr)
     
    url_escape(string);
    //This URL encodes the string. 
    //This converts characters such as ?, &, and = into their URL safe equivilants using the %hh syntax. 
     
    7. cs中的扩展语法:
     
    CS中的Macros:
    CS中的自定义函数都是以宏的形式存在的,所以在函数中的空格,将会返回在调用的结果中
    如果不想输出空格,函数体中不能留空格
     
     
    8. 注释: <!-- 注释内容-->
  • 相关阅读:
    小程序路由
    机器学习笔记—支持向量机(1)
    用极大似然估计法推出朴素贝叶斯法中的先验概率估计公式
    机器学习笔记—生成学习
    机器学习笔记—再谈广义线性模型
    机器学习笔记—指数分布簇和广义线性模型
    机器学习笔记—Logistic 回归
    机器学习笔记—局部权重线性回归
    机器学习笔记—线性回归
    机器学习笔记1
  • 原文地址:https://www.cnblogs.com/skyzcx520/p/3919558.html
Copyright © 2011-2022 走看看