一、 彩种(lottery_type) 对应的json 文件
a) 情况:如果彩种(lottery_type) 对应的json 文件存在/ 不存在,
i. 判断方式及结果:
#if($lottery_type_10)
有开奖结果
#end
#if(!$lottery_type_10)
无开奖结果
#end
二、 彩期
a) 情况: 彩期(phase) 对应的属性存在/ 不存在
i. 判断方式及结果:
#if($lottery_type_50.phase)
彩期(phase) 对应的属性存在
#end
#if(!$lottery_type_50.phase)
彩期(phase) 对应的属性不存在
#end
b) 情况:彩期(phase) 对应的属性存在,但value 是null
i. 判断方式及结果:
#if($lottery_type_50.phase)
value 不是null
#end
#if(!$lottery_type_50.phase)
value 是null
#end
c) 情况:彩期(phase) 对应的属性存在,但value 是”null”
i. 判断方式及结果
1. 如果是对象通过‘. ’的方式获取属性
#if($lottery_type_50.phase)
value 不是“null ”
#end
#if(!$lottery_type_50.phase)
value 是“null ”
2. 如果直接获取属性
#if(${phase} == "null")
value 是“null ”
#end
#if(${phase} != "null")
value 不是“null ”
#end
d) 情况:彩期(phase) 对应的属性存在,但value 是“”
i. 判断方式及结果:
#if($lottery_type_50.phase == “”)
value 为“”
#end
#if($lottery_type_50.phase != “”)
value 不是“”
#end
e) 实例:
#if($lottery_type_50.phase)
111
#if($lottery_type_50.phase != "")
333
#end
#if($lottery_type_50.phase == "")
444
#end
#if($lottery_type_50.phase != "null")
555
#end
#if($lottery_type_50.phase == "null")
666
#end
#end
#if(!$lottery_type_50.phase)
222
#end
l 如果彩期(phase) 属性不存在,结果:222
l 如果彩期(phase) 属性存在,但值为null 或者”null” ,结果:222
l 如果彩期(phase) 属性存在,但值为”” ,结果:111 444 555
l 如果彩期(phase) 属性存在,值为”2011036” ,结果:111 333 555
三、 开奖日期
a) 情况:如果开奖日期(draw_time) 属性不存在,或者开奖日期(draw_time) 属性存在,但是值为null 或者 “null ”,
i. 判断方式及结果:
#if($lottery_type_50.draw_time)
属性不存在或者值为null 或者“null ”
#end
#if(!$lottery_type_50.draw_time)
属性存在且值bu 为null 也不为“null ”
#end
b) 情况:如果开奖日期(draw_time) 属性存在,值为“”
i. 判断方式及结果:
#if($lottery_type_50.draw_time == “”)
属性值为””
#end
#if($lottery_type_50.draw_time != “”)
属性值不为””
#end
c) 实例:
#if($lottery_type_50.draw_time)
111
#end
#if(!$lottery_type_50.draw_time)
222
#end
#if($lottery_type_50.draw_time == "")
333
#end
#if($lottery_type_50.draw_time != "")
444
#end
#if($lottery_type_50.draw_time == "null")
555
#end
#if($lottery_type_50.draw_time != "null")
666
#end
l 如果开奖日期属性(draw_time) 不存在,结果:222 444 666
l 如果开奖日期属性(draw_time) 存在,但值为null 或者 “null” ,结果:222 444 666
l 如果开奖日期属性(draw_time) 存在,但值为”” ,结果:111 333 666
l 如果开奖日期) 属性(draw_time 存在,并且值为"2011-03-31 22:30:00" ,结果:111 444 666
四、 奖池滚存
a) 情况:奖池(pool_amount) 不存在,或者奖池(pool_amount) 存在,值为null 或者“null ”
i. 判断方式及结果
#if($lottery_type_50.pool_amount)
奖池(pool_amount) 存在,并且奖池(pool_amount) 值不为null 也不为“null ”
#end
#if(!$lottery_type_50.pool_amount)
奖池(pool_amount) 不存在,或者奖池(pool_amount) 存在,值为null 或者“null ”
#end
b) 情况:奖池(pool_amount) 值为“”
i. 判断方式及结果
#if($lottery_type_50.pool_amount == "")
奖池(pool_amount) 值为””
#end
#if($lottery_type_50.pool_amount != "")
奖池(pool_amount) 值不为””
#end
五、 试机号
a) 情况:fc3d_sjh 不存在,或者fc3d_sjh 存在,值为null 或者”null”
i. 判断方式及说明:
#if($lottery_type_52.fc3d_sjh)
fc3d_sjh 存在并且值不为null 也不为”null”
#end
#if(!$lottery_type_52.fc3d_sjh)
fc3d_sjh 不存在,或者fc3d_sjh 存在,值为null 或者”null”
#end
b) 情况:fc3d_sjh 存在,值为””
i. 判断方式及说明:
#if($lottery_type_52.fc3d_sjh == “”)
fc3d_sjh 值为””
#end
#if(!$lottery_type_52.fc3d_sjh != “”)
fc3d_sjh 值不为””
#end
c) 情况:"fc3d_sjh":{} 需要进入{} 内进行判断
d) 实例:
#if($lottery_type_52.fc3d_sjh)## 一级属性fc3d_sjh 存在,并且值不为null ,也不为“null “
#if($lottery_type_52.fc3d_sjh != "")## 一级属性fc3d_sjh 值不为““
#if($lottery_type_52.fc3d_sjh.fc3d_sjh)## 二级属性fc3d_sjh 存在,且值不为null 或者“null “
#if($lottery_type_52.fc3d_sjh.fc3d_sjh != "")## 二级属性fc3d_sjh 的值不为““
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.machine || $lottery_type_52.fc3d_sjh.fc3d_sjh.ball
|| $lottery_type_52.fc3d_sjh.fc3d_sjh.sjh)## 只要machine 或者ball 或者sjh 存在,且值不为null 或者“null “
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.machine) ## machine 存在,且值不为null 或者“null “
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.machine != "")##machine 存在,值不为““
$lottery_type_52.fc3d_sjh.fc3d_sjh.machine
#else##machine 存在,值为““
0
#end
#else## machine 不存在或者存在但是值为null 或者“null “
0
#end
机
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.ball)
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.ball != "")
$lottery_type_52.fc3d_sjh.fc3d_sjh.ball
#else
0
#end
#else
0
#end
球
#if($lottery_type_52.fc3d_sjh.fc3d_sjh.sjh)
#foreach ($sjh in $lottery_type_52.fc3d_sjh.fc3d_sjh.sjh)
#if($sjh != "null" && $sjh != "")
$sjh
#end
#end
#end
#else## machine 或者ball 或者sjh 不存在,或者存在但是值为null 或者“null
暂无结果
#end
#else## 二级属性值为““
暂无结果
#end
#else## 二级属性fc3d_sjh 不存在,或者值为null 或者“null “
暂无结果
#end
#else## 一级属性值为““
暂无结果
#end
#else## 一级属性fc3d_sjh 不存在或者值为null 或者“null “
暂无结果
#end
六、 开奖结果
a) 情况:开奖结果属性(result) 存在/ 不存在
i. 判断方式及结果:
#if($lottery_type_50.result)
开奖结果属性(result) 存在
#end
#if(!$lottery_type_50.result)
开奖结果属性(result) 不存在
#end
b) 情况:开奖结果属性(result) 存在,但值为null
i. 判断方式及结果:
#if($lottery_type_50.result)
开奖结果属性(result) 存在,值不为null
#end
#if(!$lottery_type_50.result)
开奖结果属性(result) 存在,但值为null
#end
c) 情况:开奖结果属性(result) 存在,但值为”null”
i. 判断方式及结果:
1. 如果是对象通过’.’ 获取对象
#if($lottery_type_50.result)
开奖结果属性(result) 存在,值不为null
#end
#if(!$lottery_type_50.result)
开奖结果属性(result) 存在,但值为null
#end
2. 如果直接获取对象
#if(result == “null”)
开奖结果属性(result) 存在,值为”null”
#end
#if(result != “null”)
开奖结果属性(result) 存在,但值为”null”
#end
d) 情况:开奖结果属性(result) 存在,但值为“”
i. 判断方式及结果:
#if($lottery_type_50.result == "")
开奖结果属性(result) 值为“”
#end
#if($lottery_type_50.result != "")
开奖结果属性(result) 值不为“”
#end
e) 情况:开奖结果属性(result) 存在,但值为空数组[]
i. 判断方式及结果:
#if($lottery_type_50.result.size() == 0)
开奖结果 (result) 值不为 []
#end
#if($lottery_type_50.result.size() != 0)
开奖结果 (result) 值为 []
#end
f) 情况:"result":[,] ;"result":[“”,””] ;需要对result 数组的每个元素进行判断
i. "result":[,] ;"result":[null,null] ;"result":[“null”,”null”] ;
1. 判断方式及结果
#if($result == "null")
元素为”null”
#end
#if($result != "null")
元素不为”null”
#end
结果:元素为”null”
ii. "result":[“”,””]
1. 判断方式及结果
#if($result == "")
元素为””
#end
#if($result != "")
元素不为””
#end
结果:元素为””
g) 情况:"result":[,] ;"result":[{"key":"red"},{"key":"blue"}] ;"result":[{"key":"red","data":null},{"key":"blue","data":null}] ;"result":[{"key":"red","data": “null ”},{"key":"blue","data": “null ”}] ;
"result":[{"key":"red","data": “”},{"key":"blue","data": “”}] ;
"result":[{"key":"red","data":[]},{"key":"blue","data":[]}] ;需要对data 进行判断
i. "result":[{"key":"red"},{"key":"blue"}] ;"result":[{"key":"red","data":null},{"key":"blue","data":null}] ;"result":[{"key":"red","data": “null ”},{"key":"blue","data": “null ”}] ;
1. 判断方式及结果:
#if($result.data)
data 属性存在
#end
#if(!$result.data)
data 属性不存在,或者data 属性存在,值为null 或者 “null ”
#end
ii. "result":[{"key":"red","data": “”},{"key":"blue","data": “”}] ;
1. 判断方式及结果:
#if($result.data == "")
data 属性值为“”
#end
#if($result.data != "")
data 属性值不为“”
#end
iii. "result":[{"key":"red","data":[]},{"key":"blue","data":[]}]
1. 判断方式及结果:
#if($result.data.size() > 0)
data 数组有数据
#end
#if($result.data.size() == 0)
data 数组没有数据
#end
h) 情况:"result":[{"key":"red","data":[,,,,,]},{"key":"blue","data":[]}] ;"result":[{"key":"red","data":["","","","","",""]},{"key":"blue","data":[""]}] ;
iv. "result":[{"key":"red","data":[,,,,,]},{"key":"blue","data":[]}]
1. 判断方式及结果:
#if($data != "null")
333
#end
#if($data == "null")
444
#end
结果:444
v. "result":[{"key":"red","data":["","","","","",""]},{"key":"blue","data":[""]}]
1. 判断方式及结果:
#if($data == "")
为“”
#end
#if($data != "")
不为“”
#end
i) 实例:
#if($lottery_type_50.result)## 有定义result 属性并且result 属性值不为null ,也不为“null ”
#if($lottery_type_50.result != “”)
#if($lottery_type_50.result.size() > 0)## 针对result:[] ,则size = 0 ,而result:[,,],size>0
#set($exist = "0")## 声明变量$exist ,用于记录是否有开奖结果,初始值为“0 ”
#foreach($result in $lottery_type_50.result)
#if($result != “null” && $result != “”)
#if($result.key)
#if($result.key == 'red')
#if($result.data)
#if($result.data != “”)
#if($result.data.size() > 0)
#foreach($data in $result.data)
#if($data != "null" && $data != "")## 如果有data 属性,而且data 属性的值不为null ,不为“null ”,而且非data:[ “”, ””, ””] 此种情况,非data:[,,,] 此种情况
#set($exist = "1")## 变量$exist 赋值“1 ”
#end
#end
#end
#end
#end
#end
#if($result.key == 'blue')
#foreach($data in $result.data)
#if($data != "null" && $data != "")
#set($exist = "1")
#end
#end
#end
#end
#end
#end
##$exist :0 代表无开奖结果,1 代表有开奖结果
#if($exist == "0")
暂无开奖结果
#else
#foreach($result in $lottery_type_50.result)
#if($result != “null” && $result != “”)
#if($result.key)
#if($result.key == 'red')
#if($result.data)
#if($result.data != "")
#if($result.data.size() > 0)
#foreach($data in $result.data)
#if($data != "null" && $data != "")
#end
#end
#end
#end
#end
#end
#if($result.key == 'blue')
#if($result.data)
#if($result.data != "")
#if($result.data.size() > 0)
#foreach($data in $result.data)
#if($data != "null" && $data != "")
#end
#end
#end
#end
#end
#end
#end
#end
#end
#end
#else##result:[]
暂无开奖结果
#end
#else
暂无开奖结果
#end
#else## 未定义result 属性, 或者有定义result 属性,值为null 或者“null ”
暂无开奖结果
#end
七、 奖项
a) 实例:
#if($result_detail)// 判断result_detail 属性是否存在,如果存在,值是否为null
#if($result_detail != "null" && $result_detail != "")// 因为是直接获取属性,需要多加一层”null” 判断
#if($result_detail.size() > 0)
#set($exists = "0")
#foreach ($item in $result_detail)
#if($item != "null" && $item != "")// 对数组中每一个奖项的判断
#if($velocityCount)
#if($velocityCount != "null" && $velocityCount != "")
#set($exists = "1")
#end
#end
#end
#end
#if($exists == "1")
#foreach ($item in $result_detail)
#if($item != "null" && $item != "")
#if($velocityCount)
#if($velocityCount != "null" && $velocityCount != "")
#if($velocityCount < 3)
#if($velocityCount == 1)
#set($str = " 一")
#elseif ($velocityCount == 2)
#set($str = " 二")
#end
#if(${item.prize})
#if(${item.prize} != "")
${item.prize}
#else
0
#end
#else
0
#end
元/ 注
#end
#end
#end
#end
#end
#else
暂无奖项
#end
#else
暂无奖项
#end
#else
暂无奖项
#end
#else
暂无奖项
#end
八、
九、 总结:
a) 属性不存在或者属性存在但是值为null ,!$prize_amount 结果为true ,prize_amount 结果为false
b) 属性存在值为“null ”,分两种情况:
i. 一种通过对象. 属性,!$prize_amount 结果为true ,prize_amount 结果为false
ii. 直接属性,$data == “null” 结果为true ,$data != “null” 结果为false
c) 属性存在但是值为““,$prize_amount == “” 结果为true ,$prize_amount != “” 结果为false
d) 如果是数组,并且数组中有元素,如[,,,,,] ,$data == “null” 结果为true ,$data != “null” 结果为false