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下
     
     
     
     
     
     
  • 相关阅读:
    Linux查看文件被哪个进程占用
    命令行启动rstudio server
    Spring Boot配置文件及多环境配置
    Spring Boot yml配置文件
    js实现自定义概率抽奖算法
    Flutter之adb: failed to install apk的解决方法
    Flutter之不简单的搜索条
    git操作之commit规范
    Flutter之毛玻璃效果的实现
    固定定位下div水平居中
  • 原文地址:https://www.cnblogs.com/wy-QAQ/p/8664659.html
Copyright © 2011-2022 走看看