Freemarker常用指令使用示例

我的开发环境
框架:springmvc+freemarker
开发工具:springsource-tool-suite-2.9.0
JDK版本:1.6.0_29
tomcat版本:apache-tomcat-7.0.26

step1.编写controller文件,代码如下:

代码如下:

package www.asuan.com.controller;

import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class HelloWorldController {
    @RequestMapping("/helloWorld")
    public String helloWorld(Model model) {
        // 示例一
        int flag = 0;
        model.addAttribute("flag", flag);
        // 示例二
        List<String> noExistList = new ArrayList<String>();
        noExistList = null;
        model.addAttribute("noExistList", noExistList);
        // 示例三
        List<String> strList = new ArrayList<String>();
        strList.add("www.");
        strList.add("cnblogs.");
        strList.add("com/sunang");
        model.addAttribute("strList", strList);
        // 示例四
        Map<String, String> strMap = new HashMap<String, String>();
        strMap.put("mapKey0", "www.");
        strMap.put("mapKey1", "cnblogs.");
        strMap.put("mapKey2", "com/sunang");
        model.addAttribute("strMap", strMap);
        // 示例五
        Date nowTime = new Date();
        model.addAttribute("nowTime", nowTime);//传输时间对象
        return "helloWorld.ftl";
    }
}

step2.编写ftl文件,代码如下:

代码如下:

<html>
<body>
示例一输出结果:
<p>
<#-- if指令的用法-->
<#-- 在指令标籤内直接使用变量名得到文本值-->
<#if flag == 1>
    flag = 1
<#elseif flag ==2>
    flag = 2
<#else>
    <#-- 在指令标籤外使用   ${变量名}   的格式来得到文本值-->
    flag!=1 && flag!=2 flag的值為:${flag}
</#if>
</p>
<p>----------------------------------------------------------</p>
示例二输出结果:
<p>
<#-- 判断变量是否存在-->
<#if noExistList??>
    List存在
<#else>
    List不存在
</#if>
</p>
<p>----------------------------------------------------------</p>
示例三输出结果:
<p>
<#-- list指令的用法,as可设置别名-->
<#list strList as sl>
    <#-- 在变量名后加   _index   得到变量在容器中的序号,从0开始-->
    <#if sl_index == 0>
        我的博客地址是:${sl}
    <#else>
        ${sl}
    </#if>
</#list>
</p>
<p><p></p>
直接使用下标访问List:${strList[0]}${strList[1]}${strList[2]}
</p>
<p>----------------------------------------------------------</p>
示例四输出结果:
<p>
<#-- 使用    ${变量名.变量名}   获取容器对象的子对象-->
${strMap.mapKey0}${strMap.mapKey1}${strMap.mapKey2}
</p>
<p>----------------------------------------------------------</p>
示例五输出结果:
<p>
<#-- 当变量是日期对象时,可使用函数使其按格式输出-->
${nowTime?string("yyyy-MM-dd")}
</p>
</body>
</html>

step3.运行与调试

将工程部署到tomcat并运行,在瀏览器输入:http://localhost:8080/你设置的工程名/helloWorld.htm
运行结果:

(0)

相关推荐

  • Java操作FreeMarker模板引擎的基本用法示例小结

    FreeMarker 是一个采用 Java 开发的模版引擎,是一个基于模版生成文本的通用工具. 它被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序.虽然使用FreeMarker需要具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由 FreeMarker 生成页面,并通过模板显示准备的数据. http://freemarker.org/ public void process(String template, Map<String, ?> data) th

  • FreeMarker配置(Configuration)

    p> 基础 Configuration 是一个存放应用级别(application level)公共配置信息,以及模版(Template)可使用的全局共享变量的一个对象.同时它还负责模版(Template)实例的创建以及缓存.Configuration 实际上是freemarker.template.Configuration 对象的实例,使用其构造函数创建.通常应用使用一个共享的单实例Configuration 对象. Configuration 对象可被Template 对象的方法使用,每一

  • 基于Java的Spring框架来操作FreeMarker模板的示例

    1.通过String来创建模版对象,并执行插值处理 import freemarker.template.Template; import java.io.OutputStreamWriter; import java.io.StringReader; import java.util.HashMap; import java.util.Map; /** * Freemarker最简单的例子 * * @author leizhimin 11-11-17 上午10:32 */ public cla

  • Java用freemarker导出word实用示例

    最近一个项目要导出word文档,折腾老半天,发现还是用freemarker的模板来搞比较方便省事,现总结一下关键步骤,供大家参考,这里是一个简单的试卷生成例子. 一.模板的制作 先用Word做一个模板,如下图: (注意,上面是有表格的,我设置了边框不可见)然后另存为XML文件,之后用工具打开这个xml文件,有人用firstobject XML Editor感觉还不如notepad++,我这里用notepad++,主要是有高亮显示,和元素自动配对,效果如下: 上面黑色的地方基本是我们之后要替换的地

  • Freemarker 最简单的例子程序

    Freemarker 最简单的例子程序 freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/project/freemarker/freemarker/2.3.18/freemarker-2.3.18.tar.gz freemarker-2.3.13.jar: 链接: http://pan.baidu.com/s/1eQVl9Zk 密码: izs5 1.通过String来创建模版对象,并执行插值处理 执行后,控制台

  • 使用Java进行FreeMarker的web模板开发的基础教程

    一.概述 FreeMarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯 Java 编写,FreeMarker 被设计用来生成 HTML Web 页面,特别是基于 MVC 模式的应用程序,虽然 FreeMarker 具有一些编程的能力,但通常由 Java 程序准备要显示的数据,由FreeMarker 生成页面,通过模板显示准备的数据(如下图) FreeMarker 不是一个 Web 应用框架,而适合作为 Web 应用框架一个组件.FreeMarker 与容器无关,因为它并不知道

  • Eclipse安装Free marker插件教程

    安装freemarkEditor 插件,代码高亮 在线安装freemarkEditor 插件 1.工具栏–帮助-安装新软件 2.点击添加,如图 3.输入地址:http://download.jboss.org/jbosstools/updates/development/indigo/,如图 4.点击确定,选中如图的选项, 5.更改文件 打开方式 windows ==> preferences ==> General ==> Editors ==> file Association

  • java Spring整合Freemarker的详细步骤

    我的開發環境框架:springmvc開發工具:springsource-tool-suite-2.9.0版本:1.6.0_29tomcat版本:apache-tomcat-7.0.26前言:FreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出.FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等.簡而言之,Freemarker就是在Jave Web開發

  • freemarker判断对象是否为空的方法

    FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或HTTP.它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java 等. freemarker中显示某对象使用${name}. 但如果name为null,freemarker就会报错.如果需要判断对象是否为空: <#if name??> -- </#if> 当然也可以通过设置默认值${name!''}来避免对象为空的错误.如果name为空,就以默认值("!"后的字

  • Java模版引擎Freemarker

    FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) FreeMarker不是一个Web应用框架,而适合作为Web应用框架一个组件 FreeMarker与容器无关,因为它并不知道HTTP或Servlet:FreeMarker同

随机推荐