zoukankan      html  css  js  c++  java
  • velocity(vm)模板引擎 --学习笔记

    主要记录vm的配置及使用语法
     
    一、与Struts2的的集成
     在pom.xml文件配置
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity</artifactId>
        <version>1.7</version> 
    </dependency>
    <dependency>
        <groupId>org.apache.velocity</groupId>
        <artifactId>velocity-tools</artifactId>
        <version>2.0</version>
    </dependency>
     
    二、定量显示变量
    2.1#开头---控制符号
    #set($变量名='xx')    定义变量
    2.2$开头---显示符号
    $变量名        显示变量
     
    三、遍历数组(数组:$list,索引变量:$velocityCount)
    #foreach($item in $list)
        $velocityCount.$item
    #end
    四、遍历HashTable
    #foreach($key in $table.keySet())
        $key -> $table.get($key)
    #end
    五、判断是否为空
    5.1判断单个对象$obj
    #if($(obj))        #if(!$(obj))
        不为空              不为空
    #else              #else
        为空                为空
    #end               #end  
    5.2判断集合$datalist,对象obj
    #if($null.isNull($datalist.obj) || $datalist.obj.size()==0)
        集合空
    #else
        #foreach($obj in $datalist.obj)
            #velocityCount:$obj.属性
        #end
    #end
    六、宏---定义一个宏相当于定义一个子函数
    #macro(宏名称-renderdata  $参数-datalist)
        对datalist里的obj进行操作代码...
    #end
    #renderdata($datalist.obj)
    七、数值、日期格式化
    7.1数值
    7.1.1数字
    $number.format('0.00',$obj.amounts)
    7.1.2货币格式
    $number.format("currency", $agentBillDto.feeTotal) 
    7.2日期
    7.2.1获取当前年月日
    $date.year 
    $date.month 
    $date.day
    7.2.2设置年月日格式
    $date.format('yyyy-MM-dd HH:mm:ss',$obj.createTime,$locale)
    $date.format('MMM,dd',$obj.createTime,$convert.toLocale("en_US"))
    7.3使用配置
    在struts.xml加入
    <constant name="struts.velocity.toolboxlocation" value="WEB-INF/classes/toolbox.xml" />
    八、include、parse实现布局模块化
    8.1语法  
    #parse("template/xxx.vm")
    #include("template/xxx.vm")
    8.2区别
      include只导入文件,不解析vm语法
      parse导入文件,也会解析vm语法(定义变量、定义宏...)
    8.3加载路径
      被包含的.vm文件放到/WEB-INF/classes目录下即可
      例子中xxx.vm放在/WEB-INF/classes/template下
     
     
     
     
     
     
  • 相关阅读:
    VC++导入导出类
    SVN操作手册
    stdcall与cdecl的区别
    VC++编译MPIR 2.7.0
    zabbix 监控 WEB 应用性能
    zabbix 常用监控模板
    zabbix 自定义 windows 监控项
    zabbix 自定义 nginx 监控模板
    zabbix agent 自定义 UserParameter
    zabbix python 微信告警脚本
  • 原文地址:https://www.cnblogs.com/wy-QAQ/p/8664659.html
Copyright © 2011-2022 走看看