`

Freemarker的if else语句

阅读更多

文章来源:http://www.hxstrive.com/article/181.htm

 

将介绍在Freemarker中如何使用常见的if else 分支判断语句。通过一个实例来说明如何正确使用。

 

控制器(InstructionController.java)

package com.test.controller;

 

import java.util.ArrayList;

import java.util.List;

 

import org.springframework.stereotype.Controller;

import org.springframework.ui.ModelMap;

import org.springframework.web.bind.annotation.RequestMapping;

 

import com.test.mode.User;

 

/**

 * Freemarker指令

 * @author Administrator

 *

 */

@Controller

@RequestMapping("/instructionController")

public class InstructionController {

    /**

     * if 指令

     * @param map

     * @return

     */

    @RequestMapping("/ifStatement")

    public String ifStatement(ModelMap map){

         

        map.put("username", "张三");

        map.put("score", 73); // 成绩

        map.put("sex", "F"); // M-男、F-女

         

        return "ifStatement.ftl";

    }

}

 

模板文件(ifStatement.ftl)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>Freemarker if 指令测试</title>

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="this is my page">

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  </head>

  <body>

     

    <h3>学生基本信息</h3>

     

    用户名: ${username}<br/>

    

   性 别:

   <#if sex=="F">

       女

   <#elseif sex=="M">

       男

   <#else>

       其他

   </#if>

   <br/>

    

   成 绩:${score}分<br/>

    

   级 别:

   <#if (score >= 90) > <#-- 此处不加括号,则系统认为 “score >” 将scroe作为了条件 -->

       非常优秀

   <#elseif (score >= 80 && score < 90)>

       优秀

   <#elseif (score >= 70 && score < 80)>

       良好

   <#elseif (score >= 60 && score < 70)>

       一般

   <#else>

       差劲

   </#if>

   <br/>

     

  </body>

</html>

输出结果:

学生基本信息

 

用户名: 张三

性 别: 女 

成 绩: 73分

级 别: 良好 

分享到:
评论

相关推荐

    freeMark if嵌套

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

    Freemarker简介及标签详解大全

    4. 强大的模板语言:所有常用的指令:include、if/elseif/else、循环结构等。 5. 通用数据模型:FreeMarker 不是直接反射到 Java 对象,Java 对象通过插件式对象封装,以变量方式在模板中显示。 6. 为 Web 准备:在...

    freemarker Demo 适用于freemarker初学

    Freemarker提供了条件语句(`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#elseif&gt;`)和循环语句(`&lt;#foreach&gt;`),可以实现复杂的逻辑控制。 9. **内置指令和函数** Freemarker有许多内置的指令,如`include`用于包含其他模板,`...

    freemarker-2.3.23jar

    3. **控制结构**:Freemarker提供了丰富的控制结构,如条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)、循环(`&lt;#foreach&gt;`)、以及异常处理(`&lt;#try&gt;`、`&lt;#catch&gt;`)等,使得模板具有一定的逻辑处理能力。...

    FreeMarker基础语法

    `if`语句可以与`else`和`elseif`一起使用来处理多分支逻辑。 ```fml &lt;#if condition&gt; ... // 如果condition为真,则执行这部分内容 &lt;#elseif condition2&gt; ... // 如果condition2为真,则执行这部分内容 &lt;#else&gt; ....

    freemarker-2.3.28.jar

    8. **条件语句和循环结构**: 如`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#elseif&gt;`用于条件判断,`&lt;#foreach&gt;`用于遍历集合,提供了丰富的控制流程。 9. **模板继承与布局**: Freemarker支持模板继承,通过`&lt;#include&gt;`和`&lt;#assign&gt;`...

    freemarker入门文档及例子

    4. 条件语句:`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#elseif&gt;` 用于条件判断,类似于Java的if...else...结构。 5. 循环结构:`&lt;#foreach&gt;` 用于遍历集合,如数组、列表等。 6. 链接和路径:`&lt;@link&gt;` 用于生成链接,可以动态生成...

    freemarker解析成pdf

    Freemarker支持条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`)、循环(`&lt;#foreach&gt;`)以及自定义函数(`&lt;#function&gt;`),使得模板可以处理更复杂的情况。 在实际应用中,我们通常会将这些步骤封装到一个服务类或工具类中,以便在...

    Freemarker操作字符串

    FreeMarker支持`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;`等条件判断,可以对字符串进行条件处理。例如: ```html &lt;#if name?contains("Doe")&gt; 姓名包含"Doe" &lt;#else&gt; 姓名不包含"Doe" &lt;/#if&gt; ``` 8. **模板中的...

    freemarker

    - **条件语句**:使用`&lt;#if&gt;`和`&lt;#else&gt;`展示条件分支。 - **循环**:`&lt;#list&gt;`用于遍历数组、列表或集合。 - **变量赋值**:`&lt;#assign&gt;`用于创建和修改变量。 - **数据模型的使用**:将Java对象传递给模板,并在...

    freemarker的shiro标签

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

    freemarker 教程 使用手册

    2. 条件语句:`#if`、`#else`、`#elseif`用于构造条件判断。例如,`&lt;#if user.isAdmin&gt;管理员&lt;/#if&gt;`检查用户是否为管理员。 3. 循环结构:`#foreach`用于遍历集合。例如,`${item}&lt;/#foreach&gt;`遍历items列表并打印...

    FreeMarker相关学习文档

    2. 条件语句:`&lt;#if&gt;...&lt;#else&gt;...&lt;#endif&gt;`,用于条件判断。 3. 循环结构:`&lt;#foreach item in list&gt;`,遍历列表或数组。 4. 赋值语句:`&lt;#assign var = value&gt;`,定义变量。 5. 注释:`&lt;!--#comment--&gt;`,用于模板...

    freemarker最新

    2. 条件语句:`&lt;#if condition&gt;`、`&lt;#else&gt;`、`&lt;#elseif otherCondition&gt;`用于基于条件输出内容。 3. 引用对象属性: `${user.name}`获取用户的名字。 4. 范围操作:`&lt;#assign x = 5&gt;`定义变量`x`,`...

    freemarker中文学习资料

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

    FreeMarker+中文手册

    - **条件语句**:`&lt;#if&gt;`、`&lt;#elseif&gt;`、`&lt;#else&gt;`用于条件判断。 - **异常处理**:`&lt;#try&gt;`、`&lt;#catch&gt;`、`&lt;#finally&gt;`用于捕获和处理模板执行过程中的异常。 FreeMarker中文手册中会详细解释这些概念和语法,并...

    freemarker学习资料汇总

    这个文档将深入解析Freemarker的语法特性,包括模板注释、条件语句(如`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#choose&gt;`)、循环结构(如`&lt;#list&gt;`)、逻辑运算符和比较运算符。同时,可能会讲解如何在模板中处理字符串、数字、日期...

    freemarker资料集

    FreeMarker支持条件语句(`&lt;#if&gt;`, `&lt;#else&gt;`, `&lt;#elseif&gt;`)和循环(`&lt;#list&gt;`)等控制流,允许在模板中进行条件判断和迭代。 7. **指令(Directives)**: 指令用于控制模板的结构和行为,如`include`用于包含...

    Freemarker教程(中文版)

    此外,Freemarker提供了条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)和循环结构(`&lt;#foreach&gt;`),使得在模板中进行逻辑控制变得可能。你还可以使用`&lt;#assign&gt;`定义变量,`&lt;#function&gt;`自定义函数,以及`&lt;#import&gt;`...

    freemarker语法知识

    它们用于控制模板的逻辑,例如循环(`#list`)、条件判断(`#if`,`#else`等)、包含其他模板(`#include`)等。指令可以是开始标签、结束标签或空标签形式,且需要正确嵌套,如同XML。 例如,以下是一个简单的...

Global site tag (gtag.js) - Google Analytics