`

freemarker(3)IF语句的使用

    博客分类:
  • JSP
阅读更多
转载:http://tech.ddvip.com
package freemarker;
  
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;
  
public class TestIf{
 private Configuration cfg;
  
 public Configuration getCfg(){
  return cfg;
 }
  
 public void init()throws Exception{
  cfg=new Configuration();
  cfg.setDirectoryForTemplateLoading(newFile("bin/freemaker"));
 }
  
 public static void main(String[]args)throwsException{
  TestIf obj=new TestIf();
  obj.init();
  Map root=new HashMap();
  root.put("user","java2000.net");
  Map latestProduct=new HashMap();
  latestProduct.put("url","http://www.java2000.net");
  latestProduct.put("name","Java世纪网");
  root.put("latestProduct",latestProduct);
  Templatet=obj.getCfg().getTemplate("TestIf.ftl");
  Writer out=new OutputStreamWriter(newFileOutputStream("TestIf.html"),"GBK");
  t.process(root,out);
  System.out.println("Successfull................");
 }
}


模板
<html>
<head>
 <title>Welcome!</title>
</head>
<body>
 <h1>
  Welcome${user}<#ifuser=="java2000.net">,ourbelovedleader<#else>myfriend</#if>!
 </h1>
 <p>Ourlatestproduct:
 <ahref="${latestProduct.url}">${latestProduct.name}</a>!
</body>
</html>


输出结果
<html>
<head>
 <title>Welcome!</title>
</head>
<body>
 <h1>
  Welcomejava2000.net,ourbelovedleader!
 </h1>
 <p>Ourlatestproduct:
 <ahref="http://www.java2000.net">Java世纪网</a>!
</body>
</html>


结果分析:

  <#if

  语句通过后面的测试条件,如果为true,则显示

  如果不等于,则进入<#else>部分显示,

  以</#if>结束。
分享到:
评论

相关推荐

    freeMark if嵌套

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

    Freemarker简介及标签详解大全

    FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写。FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序。虽然 FreeMarker 具有一些编程的能力,但通常由 ...

    freemarker&velocity的使用

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

    freemarker 教程 使用手册

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

    freemarker解析成pdf

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

    freemarker Demo 适用于freemarker初学

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

    freemarker及jeecms标签使用学习文档

    - **条件判断**:利用Freemarker的条件语句,根据数据状态展示不同内容。 - **分页处理**:Jeecms的分页标签能轻松实现内容的分页显示。 5. **学习资源** - `Freemaker_入门+深入+开发指南+学习笔记.doc`:这份...

    FreeMarker通用的分页

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

    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-2.3.23jar

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

    jdk1.8下可以使用的freemarker.jar

    - `#if...#end`:条件判断语句,可以根据条件显示或隐藏部分内容。 - `#foreach...#end`:循环结构,可以遍历集合并多次输出模板块。 - `#set...#end`:设置变量,可以在模板内部定义新的变量。 - `#include...`...

    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;`...

    Spring配置Freemarker视图解析器,前台页面全部使用freemarker渲染

    3. 配置视图解析器 bean:接下来,定义一个`FreeMarkerConfigurer`实例,用于设置Freemarker的相关属性,如编码、模板路径等: ```java @Bean public FreeMarkerConfigurer freeMarkerConfigurer() { ...

    freemarker

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

    如何使用Freemarker生成java代码

    - 条件语句:`&lt;#if&gt;...&lt;#else&gt;...&lt;#endif&gt;`。 - 循环:`&lt;#list&gt;...&lt;#end&gt;`。 4. **函数调用**:Freemarker支持自定义函数,如 `${user.formatDate(date)}`。 四、实际应用示例 假设我们有一个用户类`User`,...

    freemarker 应用,环境搭建,使用

    4. **模板语法**: FreeMarker支持多种语法,如条件语句(`&lt;#if&gt;`、`&lt;#else&gt;`、`&lt;#elseif&gt;`)、循环(`&lt;#foreach&gt;`)、函数调用等。你可以通过官方文档详细了解这些语法。 5. **模板缓存**: 为了提高性能,...

    java使用freemarker模板技术导出word

    3. **编写 FreeMarker 模板**:设计一个 .ftl(FreeMarker Template Language)文件,其中包含 Word 文档的结构和占位符。占位符将以 `${}` 包围,用于在运行时被数据模型中的值替换。 4. **加载模板**:使用 ...

Global site tag (gtag.js) - Google Analytics