BSL - 高性能Java模板引擎
  概述 示例 语法 配置 集成 性能 设计 更新 联系 FORK
English
示例代码:
<!--[
    /* 在模板内定义一个名称为fragment的模板片段,使用#关键字定义 */

    // 定义一个名称为fragment的模板片段
    #fragment {
        /* 类似JavaScript的弱类型声明方式,也可以一次性声明义多个 */
        // 声明一个名称为name片段参数
        arg name;
        // 声明一个名称为key、一个名称为value片段参数
        arg key, value;
        // 其它语句......
    }

    /* 本模板内调用模板片段可以使用@关键字加模板名称 */
    // 调用本模板内名称为fragment的模板片段,无参数
    @fragment();
    // 调用本模板内名称为fragment的模板片段并直接传参
    @fragment({'value': 'value'});
    // 调用本模板内名称为fragment的模板片段并使用表达式作为模板片段参数,表达式结果需是map类型
    var value={'value': 'value'};
    @fragment(value);

    /* 如需调用其它模板内的片段则需要使用include指令,下面先给出几个例子,具体请参考模板引入及布局*/
    // 调用xxxx.html模板内名称为fragment的模板片段,无参数
    include('xxxx.html#fragment');
    // 调用xxxx.html模板内名称为fragment的模板片段并直接传参
    include('xxxx.html#fragment', {'value':'value'});
    // 调用xxxx.html模板内名称为fragment的模板片段并使用表达式作为模板片段参数,表达式结果需是map类型
    var param={'value': 'value'};
    include('xxxx.html#fragment', param);
]-->
注意事项:
    1、一个模板内可以定义多个片段,使用#关键字,可以在任何地方使用@关键字调用片段;
    2、片段可以接受参数,参数使用arg关键字声明,详情请参考参数声明;
    3、模板不仅可以使用@关键字调用本模板内声明的片段,也可以通过include调用其它模板内的片段,调用时可传参。
    4、高级功能:使用include和片段可以模拟出模板继承的效果,本文档系统的生成过程即是用该功能实现的;
 
Copyright © 2013 Boilit. All rights reserved