`

FreeMarker中if标签内的判断条件

阅读更多
FreeMarker中if标签内的判断条件

FreeMarker中的<#if>标签除了里面直接判断 boolean 类型的变量外,也可以进行表达式判断,有几个细节记录一下

1. 判断对象是否存在(null)
经常会用到,如果对象 != null 则xxxx,在freemarker中表达比较奇怪,例如判断 target 是否为null,如果不为 nll 则做xxx动作
<#if target??>
    xxxx
</#if>

(目标变量后面连续两个??)

2. 字符串或数字比较
java里标准字符串比较需要 .equals() 方法,在freemarkder中进行了简化,字符串的比较方法和数字做到完全一样
<#if str == "success">
    xxx
</#if>
 
<#if str !== "error">
    xxx
</#if>


引自:http://lj6684.iteye.com/blog/1594769
分享到:
评论

相关推荐

    freemarker 自定义freeMarker标签

    FreeMarker使用${...}表达式来插入变量,#{...}用于输出注释,以及&lt;#if&gt;、等控制结构进行条件判断和循环。然而,这些默认标签可能无法满足所有复杂的场景,因此自定义标签就显得尤为必要。 自定义FreeMarker标签...

    freeMark if嵌套

    在FreeMarker中,`&lt;#if&gt;`语句用于进行条件判断,如果表达式的值为真,则执行相应的代码块。在某些情况下,我们可能需要在`&lt;#if&gt;`语句内部再嵌套`&lt;#if&gt;`,这就是所谓的`if`嵌套。 首先,让我们理解`&lt;#if&gt;`的基本语法...

    Freemarker 自定义标签 简单案例

    在Freemarker中,`&lt;#...&gt;`是内置的指令,如`&lt;#if&gt;`、`&lt;#foreach&gt;`等,它们允许我们在模板中进行条件判断、循环等操作。同时,`${...}`用于输出变量的值。这些基础元素构成了Freemarker模板的基本语法。 自定义标签...

    freemarker的shiro标签

    4. **条件逻辑**:FreeMarker的条件语句如`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`可以与Shiro标签结合,构建复杂的权限控制逻辑。例如,你可以根据用户的角色或权限动态展示或隐藏某些元素。 5. **简化代码**:使用Shiro...

    freemarker及jeecms标签使用学习文档

    - **变量表达式**:`${}`用来输出变量,`#{}`用于注释,`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#else if&gt;`进行条件判断,`&lt;#foreach&gt;`进行循环。 - **指令**:Freemarker提供了一系列的内置指令,如`include`用于包含其他模板,`...

    FreeMarker2.3.23官方中文文档

    2. **指令**:FreeMarker提供了一系列的内置指令,如`&lt;#if&gt;`进行条件判断,`&lt;#foreach&gt;`遍历集合,`&lt;#assign&gt;`定义变量,`&lt;#include&gt;`包含其他模板等。这些指令帮助开发者构建复杂的逻辑。 3. **模板继承与导入**:...

    freemarker官方中文帮助文档

    7. **条件与循环**:`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;`进行条件判断,`&lt;#foreach&gt;`、`&lt;#list&gt;`用于循环遍历集合。 8. **内置函数和方法**:Freemarker内置了如`default`、`escape`、`size`等函数,以及对象的`?`操作...

    freemarker中文学习资料

    - **条件语句**:`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;` 用于实现条件判断。 - **循环结构**:`&lt;#list&gt;` 可以遍历集合或数组,实现循环输出。 - **注释**:`&lt;!--...--&gt;` 用于在模板中添加注释,不会出现在生成的输出中...

    freemarker中文手册.rar

    2. 控制结构:如`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#for&gt;`等,用于条件判断和循环。 3. 函数和方法调用:Freemarker支持内置函数和对象的方法调用,如`length()`、`toUpperCase()`等。 4. 模板继承和导入:`&lt;#include&gt;`和`...

    freemarker_中文参考手册

    - **控制语句**:例如`&lt;#if&gt;`、`&lt;#list&gt;`等,这些标记用于实现条件判断和循环等功能。 - **特殊函数**:Freemarker还提供了许多内置函数,如`uppercase()`、`formatDate()`等,这些函数可以用来对数据进行处理。 ...

    Freemarker简介及标签详解大全

    4. 条件语句:`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`,实现条件判断。例如: ``` &lt;#if user.isAdmin()&gt; 欢迎管理员! 欢迎普通用户! &lt;/#if&gt; ``` 5. 循环结构:`&lt;#list&gt;`,用于遍历集合数据。如: ``` ...

    shiro-freemarker权限控制标签

    1. **Shiro Tags**:Shiro 提供了一系列的Freemarker标签,如`&lt;@shiro.hasPermission&gt;`,这些标签可以在模板中直接使用,用于判断用户是否具有特定的权限。 - `&lt;@shiro.hasPermission name="permName"&gt;`: 如果用户...

    freemarker语法完整版

    - `&lt;#if condition&gt;` 结构用于条件判断。 - 支持多个 `&lt;#elseif&gt;` 分支。 - 可选的 `&lt;#else&gt;` 分支。 - 示例: ```freemarker &lt;#if x = 1&gt; x is 1 x is not 1 &lt;/#if&gt; ``` **2. switch, case, default, ...

    freemarker标签详解

    `elseif` 指令用于添加额外的条件判断分支。 **示例代码:** ```ftl &lt;#if age &gt; 60&gt; 老年人 &lt;#elseif age &gt; 40&gt; 中年人 &lt;#elseif age &gt; 20&gt; 青年人 少年人 &lt;/#if&gt; ``` 这段代码与 `else` 示例相同,这里不再...

    freemarker实现一行两列算法

    这种情况下,可以通过Freemarker的条件判断和循环语句来实现这样的布局。 #### 三、实现思路 为了实现一行两列的布局,我们需要遵循以下步骤: 1. **初始化表格结构**:首先创建一个`&lt;table&gt;`标签作为容器。 2. *...

    学习Freemarker简介及标签详解大全.pdf

    它的模板语言非常强大,提供了包括条件判断(if/elseif/else)、循环结构、宏(命名的和位置参数宏)、命名空间以及转换块等功能。此外,FreeMarker还内置了HTML转义和其他Web相关的处理功能,支持国际化和本地化,...

    FreeMarker

    2. **控制结构**:FreeMarker 提供了类似于编程语言的控制结构,如`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#foreach&gt;`等,用于条件判断和循环遍历。例如,你可以用 `&lt;#if user.isAdmin&gt;` 判断用户是否为管理员,或者用 `...

    freemarker的分页功能

    - **Freemarker模板**:模板中使用了`&lt;#list&gt;`指令来遍历`tablelist`数据集合,并通过条件判断`&lt;#if tlist.loginid?exists&gt;`来检查数据是否存在,然后展示`loginid`和`loginName`字段。分页导航部分使用了`&lt;#if ...

    FREEMARKER中文PDF教材

    6. **国际化与本地化**:如何在Freemarker中处理多语言环境,使用`&lt;#t&gt;`标签进行文本国际化。 7. **模板配置**:讲解`freemarker.cfg.xml`配置文件的使用,包括模板加载路径、错误处理策略等设置。 8. **性能优化*...

Global site tag (gtag.js) - Google Analytics