`
逆风的香1314
  • 浏览: 1439202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

从零学习freemarker(3)IF语句的使用

阅读更多
原文: http://www.java2000.net/p7845

测试IF语句的使用

程序
  1. package freemarker;

  2. import java.io.File;
  3. import java.io.FileOutputStream;
  4. import java.io.OutputStreamWriter;
  5. import java.io.Writer;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import freemarker.template.Configuration;
  9. import freemarker.template.Template;

  10. public class TestIf {
  11.   private Configuration cfg;

  12.   public Configuration getCfg() {
  13.     return cfg;
  14.   }

  15.   public void init() throws Exception {
  16.     cfg = new Configuration();
  17.     cfg.setDirectoryForTemplateLoading(new File("bin/freemaker"));
  18.   }

  19.   public static void main(String[] args) throws Exception {
  20.     TestIf obj = new TestIf();
  21.     obj.init();
  22.     Map root = new HashMap();
  23.     root.put("user""java2000.net");
  24.     Map latestProduct = new HashMap();
  25.     latestProduct.put("url""http://www.java2000.net");
  26.     latestProduct.put("name""Java世纪网");
  27.     root.put("latestProduct", latestProduct);
  28.     Template t = obj.getCfg().getTemplate("TestIf.ftl");
  29.     Writer out = new OutputStreamWriter(new FileOutputStream("TestIf.html"), "GBK");
  30.     t.process(root, out);
  31.     System.out.println("Successfull................");
  32.   }
  33. }
模板
  1. <html>
  2. <head>
  3.   <title>Welcome!</title>
  4. </head>
  5. <body>
  6.   <h1>
  7.     Welcome ${user}<#if user == "java2000.net">, our beloved leader<#else>my friend</#if>!
  8.   </h1>
  9.   <p>Our latest product:
  10.   <a href="${latestProduct.url}">${latestProduct.name}</a>!
  11. </body>
  12. </html>
输出结果
  1. <html>
  2. <head>
  3.   <title>Welcome!</title>
  4. </head>
  5. <body>
  6.   <h1>
  7.     Welcome java2000.net, our beloved leader!
  8.   </h1>
  9.   <p>Our latest product:
  10.   <a href="http://www.java2000.net">Java世纪网</a>!
  11. </body>
  12. </html>

结果分析
<#if
语句通过后面的测试条件,如果为true,则显示
如果不等于,则进入<#else>部分显示,
以</#if>结束。















<script type="text/javascript"> </script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>
分享到:
评论

相关推荐

    freeMark if嵌套

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

    FreeMarker相关学习文档

    3. 指令和变量:FreeMarker支持多种指令,如`&lt;#if&gt;`(条件判断)、`&lt;#foreach&gt;`(循环)和`&lt;#assign&gt;`(赋值)。变量则用于显示数据模型中的值。 二、FreeMarker的主要特性 1. 非脚本语言:FreeMarker模板不包含...

    freemarker学习资料汇总

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

    freemarker及jeecms标签使用学习文档

    - `Freemaker_入门+深入+开发指南+学习笔记.doc`:这份文档提供了从基础到高级的Freemarker学习路径,包括基本语法、模板设计原则和实践案例。 - `freemaeker全面教程.doc`:这份教程全面覆盖了Freemarker的各个...

    Freemarker简介及标签详解大全

    3. 插件式模板载入器:可以从任何源载入模板,如本地文件、数据库等等。 4. 强大的模板语言:所有常用的指令:include、if/elseif/else、循环结构等。 5. 通用数据模型:FreeMarker 不是直接反射到 Java 对象,Java ...

    freemarker&velocity的使用

    2. **控制结构**:Freemarker支持条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)和循环(`&lt;#foreach&gt;`)等,用于根据数据动态生成内容。 3. **模板继承**:通过`&lt;#assign&gt;`和`&lt;#import&gt;`指令,可以实现模板间的变量...

    freemarker中文学习资料

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

    Struts2零配置+FreeMarker用户管理系统(UMS)

    4. **FreeMarker模板文件**:如`login.ftl`、`register.ftl`等,用于展示登录、注册等页面,通过`&lt;#if&gt;`、`&lt;#foreach&gt;`等语句进行条件判断和循环,以及`&lt;@s.action&gt;`标签调用Struts2的Action。 此外,项目中可能还...

    freemarker 教程 使用手册

    3. 标准指令:Freemarker提供了一系列标准指令,如`#if`、`#foreach`、`#set`等,用于控制流程和定义变量。 二、Freemarker语法 1. 输出表达式: `${expression}` 用于输出变量或表达式的值。例如,`${user.name}`...

    freemarker Demo 适用于freemarker初学

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

    18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】

    标题中的“18.[视频]使用模板(thymeleaf-freemarker)【从零开始学Spring Boot】”指的是一个视频教程,该教程聚焦于Spring Boot中模板引擎的使用,特别是Thymeleaf和FreeMarker这两种技术。Spring Boot是一个快速...

    springboot如何使用Freemarker模版引擎

    - `&lt;#if ...&gt;`、`&lt;#else&gt;`、`&lt;#elseif ...&gt;`:条件判断语句。 - `&lt;#foreach ...&gt;`:循环语句,通常用于遍历集合数据。 - `&lt;@...&gt;`:宏,可以复用代码片段。 6. **运行与测试** - 运行SpringBoot应用,访问`...

    struts2中使用freeMarker

    在Struts2中使用FreeMarker,主要涉及以下几个核心概念和步骤: 1. **配置FreeMarker**: - 在Struts2的配置文件(通常为struts.xml)中,你需要指定FreeMarker作为默认的视图技术。 - 配置FreeMarker的路径,...

    freemarker-2.3.22

    3. **模板设计**:Freemarker支持条件语句、循环、包含其他模板等功能,使得模板设计灵活且易于维护。 4. **缓存机制**:Freemarker有内置的模板缓存,可以提高性能,尤其是在高并发环境下。 5. **国际化与本地化*...

    freemarker解析成pdf

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

    FreeMarker通用的分页

    在IT领域的模板引擎技术中,FreeMarker是一种广泛使用的开源模板引擎,它被设计用于生成文本输出,如HTML、XML或纯文本。FreeMarker提供了一种灵活且强大的方式来处理动态内容,尤其适用于Web开发中的视图层。在...

    freemarker

    3. **Freemarker指令(Directives)**:这些是控制流程或结构的特殊标记,如`&lt;#if&gt;`、`&lt;#foreach&gt;`、`&lt;#assign&gt;`等。它们允许你在模板中进行条件判断、循环和变量赋值。 4. **内置函数(Built-in Functions)**:...

    FreeMarker设计指南.ppt

    3. **数据模型**:FreeMarker从Java应用程序中获取数据,这些数据形成了模板渲染时所用的数据模型。开发者可以通过Spring MVC、Struts2等框架将Java对象绑定到模板的变量中。 4. **指令(Directives)**:...

Global site tag (gtag.js) - Google Analytics