什么是Velocity?

Velocity是一个基于Java的模板引擎。它允许任何人使用简单但功能强大的模板语言来引用Java代码中定义的对象。

当Velocity用于Web开发时,Web设计人员可以与Java程序员并行工作,根据模型 - 视图 - 控制器(MVC)模型开发Web站点,这意味着Web页面设计人员可以专注于创建看起来不错的站点,程序员可以专注于编写顶级代码。Velocity将Java代码与网页分离,使网站在其生命周期内更易于维护,并提供Java Server Pages(JSP)或PHP的可行替代方案。

Velocity的功能远远超出了网络领域; 例如,它可用于从模板生成SQL,PostScript和XML。它既可以用作生成源代码和报告的独立实用程序,也可以用作其他系统的集成组件。例如,Velocity为各种Web框架提供模板服务,使它们能够通过视图引擎根据真正的MVC模型促进Web应用程序的开发。

一、定义变量

1   #set($phone='18800000000')
2   #set($code='0086')
3   #set($mobile=$code+' - '+$phone)
4   $code - $phone <br/>
5   $mobile

#set是负责定义 $开头则是显示变量 =表示赋值

当需要从视图中取得属性时可采用

#set($phoneFixCut=$!result.result.nationalCode)

二、字符串替换Replace

#if($!{name} != '')#set($tempName = $!{name})#set($tempName = $tempName.Replace('abc','def'))$tempName
#end

三、截取部分字段subsubstring

#if($!result.result.nationalCode)#set($str=$!result.result.nationalCode)#if($str.indexOf("000")!=-1)#set($phoneFixCut=$!result.result.nationalCode.substring(3))#elseif($str.indexOf("00")!=-1)#set($phoneFixCut=$!result.result.nationalCode.substring(2))#elseif($str.indexOf("0")!=-1)#set($phoneFixCut=$!result.result.nationalCode.substring(1))#else#set($phoneFixCut=$!result.result.nationalCode)#end
#else#set($phoneFixCut=$!result.result.nationalCode)
#end

当然我们也可以这样进行截取

#set($phoneFixCut=$!result.result.nationalCode.substring(0,4))

四、遍历数值,hashTable

   #set($list = ["CTU", "SHA", "LAX"])#foreach ($item in $list)$velocityCount . $item <br/>#end

定义了一个数组,然后遍历输出,其中velocityCount为索引变量

   #foreach($key in $table.keySet())$key -> $table.get($key)<br/>#end
#foreach($code in $!areaCodeList)
<option value="$!code">+$!code</option>
#end

五、判空

$null.isNull($orderList.orders) || $orderList.orders.size()==0  判断集合是否为空
#if(${value.length()}>0)
#end
 #if($(orderDto))订单对象有值#else订单对象为空#end#if(!$(orderDto))订单对象为空#else订单对象有值#end

六、分割字符串

#if($!{result.creType} && $result.creType)#foreach ($element in $result.creType.split(","))#if($element == 1)<script>document.getElementsByName("cretype")[0].checked="checked";</script>#elseif($element == 2)<script>document.getElementsByName("cretype")[1].checked="checked";</script>#else<script>document.getElementsByName("cretype")[2].checked="checked";</script>#end#end#end 

七、DateTime数据类型转换成一定的字符串格式 tostring

#if($datetime)$datetime.ToString(""yyyy-MM-dd"")<br/>
#end <br/>#if($date)$date.time.ToString(""yyyy-MM-dd hh:mm:ss"")<br/>
#end <br/>#if($table)#foreach($model in $table.Rows)$model.time.ToString(""yyyy年MM月dd日"")<br/>#end
#end

八、decimal数据类型转换成一定的字符串格式 tostring

需要计算的:如 (number/1000).tostring("f1");
#if($strDecimal)$strDecimal.ToString(""f0"")<br/>
#end <br/>#if($objectDecimal)$objectDecimal.Price.ToString(""f0"")<br/>
#end <br/>#if($tableDecimal)#foreach($model in $tableDecimal.Rows)$model.Price.ToString(""f0"")<br/>#end
#end九、Trim() 去除空格
#if($!{name} != '')#set($tempName =$!{name})#if($tempName == ' abc ')还没有去除首尾空格<br/>#end#set($tempName =$tempName.Trim())#if($tempName == 'abc')去除成功#end$tempName
#end
十、分割字符串#set($str="111#222")
#set($arr=$UtilHelper.SpiltString("$str","#"))
<p>$arr.length</p>
#foreach($item in $arr)
<h2>$item</h2>
#end

Velocity语法介绍(模板引擎)相关推荐

  1. 学习Vue的mustache语法-mustache模板引擎

    学习地址 : https://www.bilibili.com/video/BV1EV411h79m?vd_source=a81826692f4afea80764f4048dc1ae0a 代码地址 : ...

  2. Velocity语法介绍

    原文地址:http://www.cnblogs.com/siye1982/archive/2007/11/14/959678.html 一.基本语法 1."#"用来标识Veloci ...

  3. php smarty语法,Smarty模板引擎视图输出基本语法解析

    摘要:本文主要介绍了Smarty模板视图输出的基本语法,结合实例形式详细分析了Smarty视图模板的注释.变量.引号.函数等基本语法与使用技巧,需要的朋友可以参考下. 本文主要介绍了Smarty模板视 ...

  4. velocity模板引擎-vm语法整理

    velocity模板引擎-vm语法整理 模板引擎我目前接触过两次, 第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费 ...

  5. pug模板引擎——jade

    随着前端项目工程化的发展,代码结构越来越复杂,代码却越来越简单,为了将更多的精力集中在业务功能上面,对页面的快速构建需求日益剧增,同js.css一样,html也出现了各种各样的工具,即模板引擎,本文不 ...

  6. 前端_网页编程 Form表单与模板引擎(中)

    目录 ... ... (续上篇) 四.模板引擎的基本概念 1.定义 2. 优点 五.art-template模板引擎 1.art-template模板引擎介绍 2. art-template的安装 3 ...

  7. 前端_网页编程 Form表单与模板引擎(上)

    目录 一.form表单的基本使用 1. 什么是表单? 2. 表单的组成部分 3. < form>标签的基本属性 3.1 action 3.2 target 3.3 method 3.4 e ...

  8. Java开源模板引擎

    Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象 ...

  9. node中使用模板引擎

    模板引擎 1 .模板引擎基础 1.1模板引擎 主要功能就是拼接字符串(将HTML模板与数据拼接) 模板引擎不是node.js本身提供的,是第三方模块 让开发者以更友好的方式拼接字符串,是项目代码更加清 ...

最新文章

  1. 2017-2018-1 《信息安全系统设计基础》实验三报告
  2. java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
  3. tensorflow版本问题导致的错误AttributeError: module ‘tensorflow‘ has no attribute ‘***‘
  4. AJAX异步原理与实现
  5. java控制器_Java用户界面 模型-视图-控制器(MVC)模式
  6. 29岁女程序员感慨:硕士学历,脱单比找工作买房还难,有同感么?
  7. MySQL主从同步延迟
  8. 【POI 2007】Ridges and Valleys山峰和山谷(GRZ)
  9. jQuery之筛选函数
  10. Visio画UML用例图
  11. 罗技无法使用计算机上的配置文件,罗技无线鼠标接收器无法配对的详细解决办法...
  12. Adidas商品上货监控,有货时提醒商品尺码
  13. fNIRS–EEG监测人脑活动和氧合作用的研究进展
  14. 深圳大学 计算机 教育部学科,深圳大学有13个A类学科,位居全国第24!
  15. PYNQ2之ZYNQ的PS读写DDR
  16. 程序员健康指南 真的很受用
  17. 【考研数学】九. 无穷级数
  18. idea2017的获取注册码的方法
  19. 是什么引起数据库响应超时?
  20. ros发布节点信息python_ROS Twist和Odometry消息类型使用(Python)

热门文章

  1. 【100%通过率】华为OD机试真题 Java 实现【最长回文字符串】【2023 Q1 | 100分】
  2. 上海交通大学船舶海洋与建筑工程学院谢彬Numerical TESTs for PDEs解答1.2.1
  3. 一文带你了解 Spark 架构设计与原理思想
  4. SATA硬盘性能测试软件,SATA硬盘和SSD硬盘性能测试对比
  5. 基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台
  6. table的表头粘性布局,border不固定问题
  7. 淘宝首屏(纯静态页面)
  8. Go语言面向对象编程(1)-实现原理
  9. 2021 [线下]陇剑杯 wp
  10. c 语言一个数的n次方,C 语言实例 - 计算一个数的 n 次方