Velocity语法介绍(模板引擎)
什么是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语法介绍(模板引擎)相关推荐
- 学习Vue的mustache语法-mustache模板引擎
学习地址 : https://www.bilibili.com/video/BV1EV411h79m?vd_source=a81826692f4afea80764f4048dc1ae0a 代码地址 : ...
- Velocity语法介绍
原文地址:http://www.cnblogs.com/siye1982/archive/2007/11/14/959678.html 一.基本语法 1."#"用来标识Veloci ...
- php smarty语法,Smarty模板引擎视图输出基本语法解析
摘要:本文主要介绍了Smarty模板视图输出的基本语法,结合实例形式详细分析了Smarty视图模板的注释.变量.引号.函数等基本语法与使用技巧,需要的朋友可以参考下. 本文主要介绍了Smarty模板视 ...
- velocity模板引擎-vm语法整理
velocity模板引擎-vm语法整理 模板引擎我目前接触过两次, 第一次是在前后端还未分离时,考虑到部分页面数据比较固定,一定时间内不会变动,这样每次从后台加载数据渲染页面明显会消耗性能以及资源浪费 ...
- pug模板引擎——jade
随着前端项目工程化的发展,代码结构越来越复杂,代码却越来越简单,为了将更多的精力集中在业务功能上面,对页面的快速构建需求日益剧增,同js.css一样,html也出现了各种各样的工具,即模板引擎,本文不 ...
- 前端_网页编程 Form表单与模板引擎(中)
目录 ... ... (续上篇) 四.模板引擎的基本概念 1.定义 2. 优点 五.art-template模板引擎 1.art-template模板引擎介绍 2. art-template的安装 3 ...
- 前端_网页编程 Form表单与模板引擎(上)
目录 一.form表单的基本使用 1. 什么是表单? 2. 表单的组成部分 3. < form>标签的基本属性 3.1 action 3.2 target 3.3 method 3.4 e ...
- Java开源模板引擎
Velocity Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象 ...
- node中使用模板引擎
模板引擎 1 .模板引擎基础 1.1模板引擎 主要功能就是拼接字符串(将HTML模板与数据拼接) 模板引擎不是node.js本身提供的,是第三方模块 让开发者以更友好的方式拼接字符串,是项目代码更加清 ...
最新文章
- 2017-2018-1 《信息安全系统设计基础》实验三报告
- java知识点7——面向过程和面向对象、面向对象的内存分析、构造方法
- tensorflow版本问题导致的错误AttributeError: module ‘tensorflow‘ has no attribute ‘***‘
- AJAX异步原理与实现
- java控制器_Java用户界面 模型-视图-控制器(MVC)模式
- 29岁女程序员感慨:硕士学历,脱单比找工作买房还难,有同感么?
- MySQL主从同步延迟
- 【POI 2007】Ridges and Valleys山峰和山谷(GRZ)
- jQuery之筛选函数
- Visio画UML用例图
- 罗技无法使用计算机上的配置文件,罗技无线鼠标接收器无法配对的详细解决办法...
- Adidas商品上货监控,有货时提醒商品尺码
- fNIRS–EEG监测人脑活动和氧合作用的研究进展
- 深圳大学 计算机 教育部学科,深圳大学有13个A类学科,位居全国第24!
- PYNQ2之ZYNQ的PS读写DDR
- 程序员健康指南 真的很受用
- 【考研数学】九. 无穷级数
- idea2017的获取注册码的方法
- 是什么引起数据库响应超时?
- ros发布节点信息python_ROS Twist和Odometry消息类型使用(Python)
热门文章
- 【100%通过率】华为OD机试真题 Java 实现【最长回文字符串】【2023 Q1 | 100分】
- 上海交通大学船舶海洋与建筑工程学院谢彬Numerical TESTs for PDEs解答1.2.1
- 一文带你了解 Spark 架构设计与原理思想
- SATA硬盘性能测试软件,SATA硬盘和SSD硬盘性能测试对比
- 基于Xilinx XCZU9EG与ADRV9009 开源无线通信算法验证平台
- table的表头粘性布局,border不固定问题
- 淘宝首屏(纯静态页面)
- Go语言面向对象编程(1)-实现原理
- 2021 [线下]陇剑杯 wp
- c 语言一个数的n次方,C 语言实例 - 计算一个数的 n 次方