前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >velocity笔记(二)VelocityTools 中各种工具类的介绍与使用

velocity笔记(二)VelocityTools 中各种工具类的介绍与使用

作者头像
一写代码就开心
发布2021-09-08 15:05:47
1K0
发布2021-09-08 15:05:47
举报
文章被收录于专栏:java和python

目录

背景

我们已经知道了velocity的基础知识,现在有一个工具包,VelocityTools

在这里插入图片描述
在这里插入图片描述

GenericTools 使用

什么叫做GenericTools

在这里插入图片描述
在这里插入图片描述

总之就是工具类,我们学习这个,就是学习这个工具类的api

搭建环境

代码语言:javascript
复制
   <!--        velocity  的核心包-->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.2</version>
        </dependency>
        <!--        velocity  的工具包   要使用人家工具包里面的api,就需要导入工具包-->

        <dependency>
            <groupId>org.apache.velocity.tools</groupId>
            <artifactId>velocity-tools-generic</artifactId>
            <version>3.0</version>
        </dependency>

快速入门

项目中已经导入了依赖,我们自己创建一个模板,在这个模板里面就可以使用工具类了。

我们查看工具类的文档,现在我们要在模板里面定义事件,那么在工具类的api里面找到相关事件的类。

这个文档里面有很多的类,每一个类里面有很多的方法,我们就是使用这个类里面的方法

比如这个时间,就是一个类,这个类里面有很多的方法

在这里插入图片描述
在这里插入图片描述

这个类里面的一些方法是

在这里插入图片描述
在这里插入图片描述

使用步骤:

写一个vm,里面使用工具类

在这里插入图片描述
在这里插入图片描述

写一个配置的xml

在这里插入图片描述
在这里插入图片描述

写测试方法

代码语言:javascript
复制
public class ToolsTest {

    public static void main(String[] args) throws IOException {
//        1 创建引擎对象

        VelocityEngine engine = new VelocityEngine();
//        2 设置模板的加载路径

        engine.setProperty(Velocity.RESOURCE_LOADER,"class");
        engine.setProperty("class.resource.loader.class","org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader");
//        3  初始化引擎

        engine.init();
//        4  加载tools.xml配置文件

        ToolManager toolManager = new ToolManager();
        toolManager.configure("tools.xml");
//        5  加载模板

        Template template = engine.getTemplate("vm/tools.vm");
//        6  设置数据

        ToolContext context = toolManager.createContext();
        context.put("now",new Date());
//        7 合并数据到模板

        FileWriter fileWriter = new FileWriter("E:\\java_springboot_code\\springboot_first\\01_springboot_mybatis\\src\\main\\resources\\vm\\tools.html");
        template.merge(context,fileWriter);
//        8 释放资源

        fileWriter.close();
    }
}

最后生成的html 是

在这里插入图片描述
在这里插入图片描述

工具类以及案例

DateTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
##  $data  就是VelocityTool  的key,也就是工具类里面的类名
当前时间:  $date.get('yyyy-M-d H:m:s')

年:$date.getYear()
月:$date.getMonth()
日:$date.getDay()

年:$date.getYear($now)
月:$date.getMonth($now)
日:$date.getDay($now)

当前时间:  $date.getDate()
当前时间:  $date.get('yyyy-M-d H:m:s')
格式化时间: $date.format($now)
    $date.format("yyyy/MM/dd",$now)

最后生成的HTML是

在这里插入图片描述
在这里插入图片描述

NumberTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>

<tools>
    <toolbox  scope = "application">
        <tool class="org.apache.velocity.tools.generic.DateTool" format = "yyyy-MM-dd"> </tool>
        <tool class="org.apache.velocity.tools.generic.NumberTool" > </tool>
    </toolbox>
</tools>
代码语言:javascript
复制
原始数据:  $mynumber
## $number 工具类   里面有很多的方法
格式化:    $number.format($mynumber)
取整:  $number.integer($mynumber)
将字符串转为number  $number.toNumber($mynumber1)
在这里插入图片描述
在这里插入图片描述

MathTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在模板里面要对这两个数据进行运算

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
num1+num2  = $math.add($num1,$num2)
num1-num2  = $math.sub($num1,$num2)
num1*num2  = $math.mul($num1,$num2)
num1/num2  = $math.div($num1,$num2)

向上取整: $math.ceil($num3)
向下取整: $math.floor($num3)
在这里插入图片描述
在这里插入图片描述

DisplayTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
默认输出格式:  $display.list($list)
自定义分隔符    $display.list($list,',')

字符串截取  默认30个长度   $display.truncate($str)
    $display.truncate($str,10)
    $display.truncate($str,10,"10")
## alt 方法用于判断给的数据是否为空,如果为空,展示默认值
不为空:  $display.alt($num1,"hhhh")
在这里插入图片描述
在这里插入图片描述

EscapeTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
$esc.velocity($HTML)
$esc.html($HTML)
$esc.url($HTML)
代码语言:javascript
复制
      <tool class="org.apache.velocity.tools.generic.EscapeTool" > </tool>

FieldTool

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
  <tool class="org.apache.velocity.tools.generic.FieldTool" 
  include="com.pojo.User" > </tool>
在这里插入图片描述
在这里插入图片描述

我们还可以在context里面存对象,之后利用这个工具,获取到这个对象里面的静态变量

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

ClassTool

hh
hh
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/08/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 背景
  • GenericTools 使用
    • 什么叫做GenericTools
      • 搭建环境
        • 快速入门
        • 工具类以及案例
          • DateTool
            • NumberTool
              • MathTool
                • DisplayTool
                  • EscapeTool
                    • FieldTool
                      • ClassTool
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档