velocity的一些用法
来源:互联网 发布:杜兰特数据库 编辑:程序博客网 时间:2024/05/19 22:58
本文源地址:http://www.cnblogs.com/woshimrf/p/5169388.html
velocity模板其实就是java不分语法的翻译,用到的属性还是java的方法,get,set,等
1.截取部分字段substring
1 原始字符串:$!ag.tagValue,也许很长,前端页面展示时需要截取字符串。2 #set($str=$!ag.tagValue)3 4 #if($str.length()>30)5 #set($str=$str.substring(0,30))6 $str ...7 #else8 $!ag.tagValue9 #end
使用substring(begin,end)要注意,结束位置为:end索引-1
2.分割成数组split
1 #if($!{result.creType} && $result.creType) 2 #foreach ($element in $result.creType.split(",")) 3 #if($element == 1) 4 <script>document.getElementsByName("cretype")[0].checked="checked";</script> 5 #elseif($element == 2) 6 <script>document.getElementsByName("cretype")[1].checked="checked";</script> 7 #else 8 <script>document.getElementsByName("cretype")[2].checked="checked";</script> 9 #end10 #end11 #end
3.说到split成数组,就要看数组的几个可以用的方法
velocity 中的数组对应 Java 中的 List 对象。对于 Java 原生 Array 对象, 只能够 #foreach 进行遍历,无法使用 $arr[0] 和 $arr.get(0) 方法。
4.所以学java从不用数组,而用list
--事实上,list很方便,但list比数组效率低很多倍
- $myarray.isEmpty()list是否为空
- $myarray.size()获取list元素个数
- $myarray.get(2)获取list指定下标的元素
- $myarray.add()增加元素
5.计数用$velocityCount
在foreach中velocityCount表示循环的次数,从1开始,代表第一个循环。
6.空null和空字符串""的判断
在velocity中,非null被认为是真的,所以,判断null可以用
1 #if($!变量名)2 ……3 #else4 ……5 #end
或者既可以判断null也可以判断空字符串
1 #if("$!varName" != "")2 不为null 或 ""3 #else4 ……5 #end
7.基本语法错误#end不要忘
最开始的时候经常#if就完了报错,后来都是写完if就end,最后写中间。
8.宏#macro其实也很简单
原来感觉不懂不敢碰,自从写了个velocity分页后就忽然觉得宏不要太好用。事情是这样的,当时地区三级联动需要多处调用,提取出成公共模块,用#parse导入后出现冲突,因为一个页面用两次地区联动代码,id就重复了。于是想把id给变成参数,当我需要这个公用代码的时候,把id当参数传进去,最后render的结果就是html代码的id为我的参数。这样看来,宏就是一个函数。
想要用宏,先写好,然后parse,然后调用。
一个简单的宏函数:
1 #macro( d )2 <tr><td></td></tr>3 #end
使用它:如果在本页面,直接#d,如果是单独写了一个模板文件,那么需要先#parse(文件路径),再#d,如同js外部引用。
传参数的宏:
1 #macro( tablerows $color $somelist )2 #foreach( $something in $somelist )3 <tr><td bgcolor=$color>$something</td></tr>4 #end5 #end
一个综合使用,分页。
9引用外部文件#include和#parse
我开始经常用#include,后来发现刷新页面没变化,用#parse就好了。字面理解,一个是直接拿过来,一个是解析后。所以,如果是传html代码,可以直接include;若是包含velocity代码的要编译#parse.
- velocity的一些用法
- velocity的一些用法
- Velocity的基本用法
- Velocity的基本用法
- velocity的用法
- java-velocity的用法
- 轻松学习Velocity - Velocity基本用法和常用的用法
- Velocity经常要用到的一些方法
- velocity中自定义指令的用法
- 自己积累的一些关于Velocity的经验
- velocity非空用法
- asteria velocity用法
- velocity foreach用法
- Velocity用法以及注意事项
- velocity--Advanced 高级用法
- Velocity 模板基本用法
- velocity基本用法
- velocity-tools spring中使用toolbox的一些破事
- Java动态代理之CGLIB
- 【Ubuntu】手动建立快捷方式
- Windbg 实战常用命令--会不断更新
- CC2640 自学mark
- 大数据数据分析POM.XML
- velocity的一些用法
- 51nod 1003 阶乘后面0的数量【数学】
- 01背包问题C
- [2017雅礼集训]day4 T1 洗衣服 贪心
- C++函数之基本介绍
- linux中断系列之中断简介(一)
- STC单片机IO口状态。
- 新浪微博大规模的都是基于redis来架构的
- dvajs+antd+roadhog 踩坑记录