Freemarker常用指令使用范例
我的開發環境
框架: springmvc+freemarker
開發工具: springsource-tool-suite-2.9.0
JDK版本: 1.6.0_29
tomcat版本:apache-tomcat-7.0.26
本文地址:http://www.cnblogs.com/sunang/p/3419807.html 轉載請注明出處^_^
本文要注意的點已经用 標注,請大家要特別注意。
前置文章
SpringMVC配置入門 http://www.cnblogs.com/sunang/p/3419544.html
Spring整合Freemarker http://www.cnblogs.com/sunang/p/3419676.html
go!
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 == >
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 == >
我的博客地址是:${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
運行結果:
complete!
ps.如果你想深入學習Freemarker,可以看看南磊翻譯的《FreeMarker_Manual_zh_CN》。
Freemarker常用指令使用范例的更多相关文章
- Freemarker常用技巧
1,截取字符串 有的时候我们在页面中不需要显示那么长的字符串,比如新闻标题,这样用下面的例子就可以自定义显示的长度 < lt. <= lte. > gt. >= gte < ...
- ImageMagick常用指令详解
Imagemagick常用指令 (ImageMagick--蓝天白云) (ImageMagick官网) (其他比较有价值的IM参考) (图片自动旋转的前端实现方案) convert 转换图像格式和大小 ...
- LINUX 常用指令学习
目录 0 查找find 1 别名alias 2 变量的设置 3 常用的系统变量 4 通配符及组合按键 5 指令之间的分隔符(;&||) 6 输出重定向(>,>>,1>, ...
- git常用指令整理
git常用指令一览表 GIT指令 说明 git add . 将全部文件的内容加到Git索引以便执行commit. 这个指令不会检查文件夹中是否有文件被删除. 要注意的是,只有执行" git ...
- redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化
知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) ...
- linux常用指令
整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...
- 走进AngularJs(二) ng模板中常用指令的使用方式
通过使用模板,我们可以把model和controller中的数据组装起来呈现给浏览器,还可以通过数据绑定,实时更新视图,让我们的页面变成动态的.ng的模板真是让我爱不释手.学习ng道路还很漫长,从模板 ...
- mac 终端 常用指令
开始正式研究ios 应用开发,由于是从C开始学起,所以学习下常用的mac终端指令,方便后续常用操作. mac 终端 常用指令: 1.ls指令 用途:列出文件 常用参数 -w 以简洁的形式列出所有文件和 ...
- [AngularJS] 常用指令
常用指令 ng-hide指令,用于控制部分HTML元素可见(ng-hide="false")和不可见状态(ng-hide="true"),如下: <div ...
随机推荐
- 计算机病毒实践汇总六:IDA Pro基础
在尝试学习分析的过程中,判断结论不一定准确,只是一些我自己的思考和探索.敬请批评指正! 1. IDA使用 (1)搜索.下载并执行IDA Pro,对可执行程序lab05-01.dll进行装载,分别以图形 ...
- 设置centos7语言显示环境
1.查看可选语言显示包 locale -a ............(省略好多) zh_CNzh_CN.gb18030zh_CN.gb2312zh_CN.gbkzh_CN.utf8zh_HKzh_HK ...
- javascript 伪协议
[javascript 伪协议] 将javascript代码添加到客户端的方法是把它放置在伪协议说明符javascript:后的URL中.这个特殊的协议类型声明了URL的主体是任意的javascrip ...
- 【干货】解密监控宝Docker监控实现原理
分享人高驰涛(Neeke),云智慧高级架构师,PHP 开发组成员,同时也是 PECL/SeasLog 的作者.8 年研发管理经验,早期从事大规模企业信息化研发架构,09 年涉足互联网数字营销领域并深入 ...
- 【NoSql】Redis
[NoSql]Redis 一. 文档 1. 官网 2. Windows 安装包 3. C# Driver a. ServiceStack.Redis 最新版本是收费的 b. StackExchange ...
- thinkphp 数据访问
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- Windows 程序设计
一.Win32 API /******************************************************************** created: 2014/04/1 ...
- wamp如何添加多个站点
1.打开wamp目录下的bin目录下的apache/conf/extra/httpd-vhosts.conf文件(虚拟目录配置文件),修改文件:在num01下创建index.php文件,输出01,:在 ...
- python实践——批量统计mongodb数据库的集合大小
#!/usr/bin/env python import os,sys list = [] for i in range(3,50): l = os.popen("/bin/echo 'sh ...
- 计算软键盘的高度然后确定自定义的View的具体位置
singleTouchView.getViewTreeObserver().addOnGlobalLayoutListener( new ViewTreeObserver.OnGlobalLayout ...