Freemarker常用指令使用示例

所属分类: 软件编程 / java 阅读数: 84
收藏 0 赞 0 分享

我的开发环境
框架: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
运行结果:

更多精彩内容其他人还在看

JavaWeb项目部署到服务器详细步骤详解

这篇文章主要介绍了JavaWeb项目如何部署到服务器,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA基于支付宝小程序搭建springboot项目的详细步骤

这篇文章主要介绍了IDEA基于支付宝小程序搭建springboot项目的详细步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解SpringBoot应用服务启动与安全终止

这篇文章主要介绍了SpringBoot应用服务启动与安全终止,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Boot启动及退出加载项的方法

这篇文章主要介绍了Spring Boot启动及退出加载项的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

Spring Data Jpa 自动生成表结构的方法示例

这篇文章主要介绍了Spring Data Jpa 自动生成表结构的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

IDEA中osgi的开发应用指南详解

这篇文章主要介绍了IDEA中osgi的开发应用指南详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解用maven将dubbo工程打成jar包运行

这篇文章主要介绍了详解用maven将dubbo工程打成jar包运行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

详解Java合并数组的两种实现方式

这篇文章主要介绍了Java合并数组的两种实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

使用Jenkins Pipeline自动化构建发布Java项目的方法

这篇文章主要介绍了使用Jenkins Pipeline自动化构建发布Java项目的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用Maven配置Spring的方法步骤

这篇文章主要介绍了使用Maven配置Spring的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多