`

.vm模板文件各种判断为null或者“null”或者“”总结(转)

 
阅读更多

转载自:http://blog.csdn.net/yanweijie0317/article/details/6331139

 

一、 彩种(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 != "")

                                        <div class="redball">$data</div>

                                    #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 != "")

                                        <div class="redball">$data</div>

                                    #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

                                                <li>${str } 等奖:<span class="money">

                                                    #if(${item.prize})

                                                        #if(${item.prize} != "")

                                                            ${item.prize}

                                                        #else

                                                            0

                                                        #end

                                                    #else

                                                        0

                                                    #end

                                                </span> / 注</li>

                                            #end

                                        #end

                                      #end

                                 #end

                            #end

                        #else

                            <li> 暂无奖项</li>

                        #end

                       #else

                          <li> 暂无奖项</li>

                       #end

                #else

                    <li> 暂无奖项</li>

                #end

            #else

                <li> 暂无奖项</li>

            #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

分享到:
评论

相关推荐

    Velocity--java的模板引擎

    这里假设有一个名为`template.vm`的模板文件,内容可能是`Hello, #name!`,运行后会输出`Hello, World!`。 **4. Velocity与其他模板引擎的比较** Velocity与JSP、FreeMarker等其他模板引擎相比,有其独特优势。...

    编码规范代码注释模板设置说明手册

    - 不要在方法注释前添加 `/` 符号,否则可能导致参数自动补全为 null。 - 在模板中使用 `${param}` 和 `${return}` 作为参数和返回值的占位符。 ##### 3.4 使用注释模板 - 打开 Java 文件,在需要添加注释的地方...

    【JavaScript源代码】Vue模拟响应式原理底层代码实现的示例.docx

    - 每个watcher代表一个具体的视图或者计算属性,它监听数据的变化并负责更新对应的视图。 - 内部有一个`update`方法,当接收到数据变化的通知时,执行此方法来更新视图。 ```javascript class Watcher { ...

    Velocity入门教程实例

    1. 创建模板文件,将模板内容写入文件(例如`.vm`文件)。 2. 在Java应用中通过Velocity引擎加载模板文件。 3. 向模板提供数据模型,通常是Java对象。 4. 渲染模板,将数据模型与模板合并,生成最终的输出结果。 5. ...

    Velocity 源码例子

    模板文件通常以`.vm`为扩展名,其中包含可被替换或计算的占位符。 ### 2. Velocity 工作原理 - **模板解析**:Velocity 首先会解析模板文件,将模板中的指令(如`#if`, `#foreach`, `#set`等)识别出来,形成抽象...

    MyBatis代码生成器.pdf

    FileOutConfig foc = new FileOutConfig("/templates/mapper.xml.vm") { @Override public String outputFile(TableInfo tableInfo) { return "/Users/your_user/Documents/your_project/src/main/resources/...

    Spring Velocity简单的一个例子(转)

    Velocity是一个Java模板引擎,它允许开发者将逻辑和表示分离,使得网页设计更加清晰,而Spring框架则为Java应用程序提供了一个全面的依赖注入和服务层。 在Spring框架中集成Velocity,首先你需要在项目的类路径下...

    velocity基本语法

    假设我们有两个模板文件:`header.vm`和`content.vm`。 `header.vm`: ```velocity &lt;!DOCTYPE html&gt; &lt;title&gt;Page Title ``` `content.vm`: ```velocity #include(header.vm) &lt;h1&gt;Welcome to My Webpage #...

    Velocity简明教程1.doc

    `用于表示当变量不存在或值为null时显示为空,如`$!msg`。 **三、变量操作** 1. **变量定义**:Velocity是弱类型语言,定义变量使用`#set`,如`#set($directoryRoot = "www")`。变量名可以包含字母、数字、连字符和...

    使用velocity

    同时,需要在项目的src根目录下创建一个名为`FirstExample.vm`的模板文件,并编写如下代码: ```vm #set($unitName="中教科技") #set($dept='研发部') 我叫$name,好高兴见到你。我的梦想是$dream 我就职于${unit...

    Java中获取当前路径的几种方法总结

    在Java编程中,获取当前路径是一项常见的任务,特别是在处理文件操作或者资源定位时。下面将详细介绍几种在Java中获取当前路径的方法。 1. 使用`System.getProperty()`函数: `System.getProperty("user.dir")`是...

    JAVA中Velocity语法基础.pdf

    Velocity 的能力远不止 web 站点开发这个领域,例如, 它可以从模板(template)产生 SQL 和 PostScript 、XML ,它也可以被当作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。 Velocity 也...

    spring mvc框架搭建

    创建一个名为 `login.vm` 的 Velocity 模板文件,展示登录表单: ``` &lt;title&gt;Login Page &lt;h1&gt;Login #if ($error) &lt;p&gt;Error: ${error} #end &lt;label for="username"&gt;Username: ...

    velocity模版技术

    Velocity模版文件(通常以`.vm`为扩展名)会被解释并合并到HTML或其他输出格式中,生成最终的动态网页内容。 总的来说,Velocity模版技术是Web开发中一种强大的工具,它通过简洁的语法和良好的可扩展性,帮助开发者...

    资深程序员的Java面试题总结汇总.pdf

    28. ThreadLocal可能导致内存泄漏,因为线程结束后,ThreadLocalMap不会自动清除,需手动设置为null。 四、反射 1. 反射允许程序在运行时动态获取类的信息,并创建或操作类的对象。 2. 序列化是将对象转换为字节流...

    Velocity 语法

    - 如果赋值表达式中的右值为`null`,那么左值不会被赋值,即保留原有的值。 - 未定义的变量会被默认视为字符串。 - 在Velocity中,`$foo.Name` 被解释为`foo`对象的`getName()`方法而非其实例变量`Name`。 #### 2. ...

    vijava 二次开发VMware

    Vijava,全称为VMware Java API,是一个开源的Java库,主要用于与VMware的vSphere和vCenter服务器进行交互。这个库提供了丰富的API,使得开发者可以方便地通过编程方式来管理VMware环境中的虚拟资源,包括数据中心、...

    关于Vue.js一些问题和思考学习笔记(2)

    - 使用TypeScript时,为了获得类型检查和智能感知,可以先将`vm`设为`null`,然后在需要的地方赋值为`this`,如`vm = vm || this`。 - 计算属性之间可以相互引用,但需要遵循一定的规则: - 计算属性必须最终依赖...

    velocity语法

    总结起来,Velocity 提供了一种灵活的方式来处理各种数据类型,并支持常见的控制结构和函数。它非常适合用来生成 HTML 页面、XML 文件以及其他格式的文档。通过合理利用 Velocity 的特性,开发者可以更加高效地完成...

Global site tag (gtag.js) - Google Analytics