IntelliJIDEA使用Velocity编写模板

Velocity 常用方法

1.字符串替换 replace

1
2
3
4
5
#if($!{name} != '')
#set($tempName = $!{name})
#set($tempName = $tempName.Replace('abc','def'))
$tempName
#end

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

需要计算的:如 (number/1000).tostring(“f1”);

1
2
3
4
5
6
7
8
9
10
11
12
13
#if($strDecimal)
$strDecimal.ToString(""f0"")
#end

#if($objectDecimal)
$objectDecimal.Price.ToString(""f0"")
#end

#if($tableDecimal)
#foreach($model in $tableDecimal.Rows)
$model.Price.ToString(""f0"")
#end
#end

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

1
2
3
4
5
6
7
8
9
10
11
12
13
#if($datetime)
$datetime.ToString(""yyyy-MM-dd"")
#end

#if($date)
$date.time.ToString(""yyyy-MM-dd hh:mm:ss"")
#end

#if($table)
#foreach($model in $table.Rows)
$model.time.ToString(""yyyy年MM月dd日"")
#end
#end

4.Trim() 去除空格

1
2
3
4
5
6
7
8
9
10
11
#if($!{name} != '')
#set($tempName = $!{name})
#if($tempName == ' abc ')
还没有去除首尾空格
#end
#set($tempName = $tempName.Trim())
#if($tempName == 'abc')
去除成功
#end
$tempName
#end

5.获取对象条数

  • Datatable: $table.Rows.Count
  • 数组: $tempList.Length
  • List: $tempList.Count
  • 字符串长度 : str.Length
  1. 判断是否为’’
1
2
3
4
5
6
#if($!{name} != ‘’)
有值
#end
#if($!{name} == ‘’)
空值
#end
  1. null、notnull 的用法
1
2
3
4
5
6
#if($!{name})
非空
#end
#if(! $!{name})

#end
  1. SubString()的用法
1
2
3
4
5
6
#set($tempName = $!{name})
#if($tempName.Length > 70)
$tempName.Substring(0,70)...
#else
$tempName
#end

9.velocityCount 序值

10.获取数组元素

不能直接 arr[] 要使用 $arr.get_item(0)

11.分割字符串

1
2
3
4
5
6
#set($str="111#222")
#set($arr=$UtilHelper.SpiltString("$str","#"))
<p>$arr.length</p>
#foreach($item in $arr)
<h2>$item</h2>
#end
  1. 过滤非法字符

注意不要分行写

1
2
3
#if($Sstring.indexOf(":")!=-1 || $Sstring.indexOf("'")!=-1 || $Sstring.indexOf("%")!=-1 || $Sstring.indexOf('"')!=-1 || $stringUtil.getGBKByteLength("$Sstring") > 100)
#set($Sstring ="")
#end

参考文档:

Donate - Support to make this site better.
捐助 - 支持我让我做得更好.