以下引用官方描述:
1.判断是否存在,通过exists关键字或者"??"运算符。都将返回一个布尔值
2.忽略null值
eg:当outCar.startNumberKm为空时则取startNumberKmByLast作用域中的值
The FreeMarker template language doesn't know the Java language null at all. It doesn't have null keyword, and it can't test if something is null or not.
1.判断是否存在,通过exists关键字或者"??"运算符。都将返回一个布尔值
user.name?exists user.name?? Html代码 收藏代码 <#if user.name?exists> //TO DO </#if> <#if user.age??> //TO DO </#if>
2.忽略null值
假设前提:user.name为null ${user.name},异常 ${user.name!},显示空白 ${user.name!'vakin'},若user.name不为空则显示本身的值,否则显示vakin ${user.name?default('vakin')},同上 ${user.name???string(user.name,'vakin')},同上
eg:当outCar.startNumberKm为空时则取startNumberKmByLast作用域中的值
<div class="grid_5 lable-right"> <label class="form-lbl">起始公里数(km):</label> </div> <div class="grid_6"> <input type="text" name="startNumberKm" id="startNumberKm" maxlength="10" value="${outCar.startNumberKm!'${startNumberKmByLast}'}" class="form-txt" /> </div> <div class="grid_1"><em class="form-req">*</em></div>
发表评论
-
jquery方法扩展使用
2014-12-02 19:28 793//非负浮点数 保留一位小数---添加到jquery.vali ... -
jquery操作select值,jqery设置select值
2014-10-15 21:26 1158每一次操作select的时候,总是要出来翻一下资料,不如自己总 ... -
jquery ajax相关操作
2014-09-28 13:50 848--ajax 请求当有记录时给予提交,rows为0时提示提示框 ... -
jquery ajax和data的使用
2014-09-04 14:58 1144function print(selId){ $. ... -
Js中parseFloat()精度问题
2014-07-08 16:11 2370<!DOCTYPE HTML PUBLIC " ... -
jquery attr()属性
2014-07-04 19:07 3074在JS中设置节点的属性与属性值用到setAttribute() ... -
CSS中line-height与height的区别
2014-07-03 19:32 1523CSS中line-height与height的区别? lin ... -
freemarker为空判断详细
2014-05-27 22:08 53066freemarker里面判断为空只有??,后来查找其他文档才发 ... -
FreeMarker中if标签内的判断条件
2014-05-13 18:41 17695FreeMarker中if标签内的判断条件 FreeMark ... -
freemarker ?datetime ? time ?date
2014-04-30 16:28 2743?date,?time和?datetime,因为你指定的格式告 ... -
div设置显示与隐藏、边框等
2014-04-30 16:24 25241.div 设置隐藏后页面占 ... -
div设置显示与隐藏、边框等
2014-04-30 16:22 18661.div 设置隐藏后页面占 ... -
用jquery计算前两个文本框的结果等于第三个文本框
2014-04-23 21:19 1430//本记录是结束里程数-起始里程数=运行里程数 //其它 ... -
jQuery.validate使用手册-详解
2014-04-09 14:22 1223jQuery.validate是一款非常不错的表单验证工具,简 ... -
jQuery对表单元素的取值和赋值操作
2014-04-08 22:13 1450jQuery对表单元素的取值 ... -
JQuery获取input type="text"中的值的各种方式
2014-04-08 22:09 2118<!DOCTYPE html PUBLIC " ... -
freemarker list (长度,遍历,下标,嵌套,排序)
2014-03-13 09:56 137461. freemarker获取list的size : ... -
Extjs Config和Mixins
2014-03-05 13:23 1095Extjs 4中,为类型系统引入了Config概念,Con ... -
js回调函数
2014-03-04 11:40 1103回调函数(Callback Functions ... -
extjs4.0 Ext.Array 函数方法详解
2014-03-04 10:34 1186Ext.onReady(function(){ ...
相关推荐
9. **最佳实践**:合理组织模板文件结构、避免模板过于复杂、正确处理null值等都是使用Freemarker时需要注意的最佳实践。 通过这个压缩包提供的资源,开发者可以全面地学习和使用Freemarker,无论是初学者还是经验...
比如,它会比较FreeMarker和其他模板引擎(如JSP和Velocity)的不同,并解释为什么FreeMarker对null值和不存在的变量敏感,并提供处理方法。此外,FAQ部分还会解答关于数字格式、小数和分组分隔符号显示问题,以及...
以下是对这些内置处理的详细说明: 1. **变量表达式** (`${...}`): FreeMarker的变量表达式用于输出Java对象的属性值。例如,`${user.name}`会尝试获取`user`对象的`name`属性并输出。如果属性不存在或者对象为...
3. 模板处理:Freemarker引擎接收模板和数据模型,然后生成最终的输出文本。 二、Freemarker语法 1. 变量输出:使用`${}`包裹变量名,例如`${name}`,会将对应数据模型中的`name`属性值输出。 2. 注释:使用`注释...
- 节点变量表示树形结构中的一个节点,主要用于XML处理。 #### B. 指令 **1. if, else, elseif** - `<#if condition>` 结构用于条件判断。 - 支持多个 `<#elseif>` 分支。 - 可选的 `<#else>` 分支。 - 示例:...
对复杂的逻辑处理能力有限,不适合做大量业务处理。 5. **内置函数及用法**: FreeMarker提供了丰富的内置函数,如`date`, `number`, `string`等类型的操作,以及`join`, `length`, `sort`, `first`, `last`等集合...
- **空白处理**指的是对模板中的空格、制表符、换行符等空白字符的处理。 - **Freemarker**提供了多种空白处理模式,可以根据需要选择合适的处理方式。 ##### 4.5 替换(方括号)语法 - **方括号语法**是**...
4. **指令**:Freemarker支持一系列指令,如`<#assign>`分配变量,`<#include>`包含其他模板,`<#nested>`处理子模板等,它们扩展了模板的功能。 5. **模板继承与布局**:`<#macro>`定义宏,实现代码复用;`...
null 处理 当对象为null时,可以使用`??`操作符避免空指针异常: ```freemarker ${user.name?default("匿名用户")} ``` ### 10. 提示方式 在模板中显示提示信息,可以通过占位符配合数据模型中的错误信息: ```...
#### 八、处理null值 为了避免在模板中使用可能为null的变量时出现黄色警告,可以使用默认值。 ```html ${(item.title)!"一些默认值"} ``` #### 九、调用Java方法 Freemarker可以直接调用Java中的方法,例如获取...
以下是对Freemarker中Sequence、Hash以及字符串操作函数的详细说明。 一、Sequence的内置函数: 1. `sequence?first`:返回Sequence的第一个元素,如果Sequence为空,返回null。 2. `sequence?last`:返回Sequence...
1. 变量表达式 `${...}`:这是FreeMarker中最基本的表达式,用于输出变量的值。例如`${user.name}`会输出用户对象的name属性。 2. 注释 `<!--#...-->`:FreeMarker支持HTML样式的注释,内容不会被渲染到最终输出。 ...
FreeMarker支持对序列(如列表)进行循环处理,同时提供了`break`语句用于提前终止循环。 ```fml ... // 处理每个item 特定值"> <#break> // 当遇到特定值时,跳出循环 ``` ### 3. 包含文件 #### include ...
这里所说的空值,实际上也包括那些并不存在的变量,对于一个Java的 null值而言,我们认为这个变量是存在的,只是它的值为null,但对于FreeMarker模板而言,它无法理解null值,null值和不存在的变 量完全相同. 为了处理缺失...
"freemarker04_空值的处理"这个主题,正是关注如何在Freemarker模板中优雅地处理这些空值,避免因空值导致的异常或不期望的输出。 1. **空值检查** 在Freemarker模板中,可以使用`?has_content`指令来判断变量是否...
- 自定义空值处理,通过`freemarker.template.Configuration`设置`NullModel`。 7. **示例**: - 基本输出:`${user.name}`,输出用户对象的name属性。 - 条件判断:`管理员:普通用户:</#if>`。 - 循环遍历:`$...
以下是对`3freemarker指令1`中涉及知识点的详细说明: 1. **ftl的if/else判断语句**: 在Freemarker模板语言中,`if`和`else`指令用于条件判断。基本语法如下: ```freemarker <!-- 当expression为真时执行的...
7. **空值(Null)**: 当变量不存在或者值为null时,Freemarker会将其视为`null`。你可以检查一个变量是否为空,如`${variable?exists}`。 8. **模板文本(TemplateText)**: 这是Freemarker特有的数据类型,用于表示未...
- Web环境中的变量查找顺序:Freemarker会按照特定顺序查找模板中的变量值。 - 使用FTL标签:在模板中可以与服务器端标签库配合使用。 - 初始化共享变量:在应用启动时设置全局变量。 - 与WebWork整合:配置...