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 == 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
運行結果:
complete!
ps.如果你想深入學習Freemarker,可以看看南磊翻譯的《FreeMarker_Manual_zh_CN》。
posted on 2013-11-18 09:14 bangdikka 阅读(1393) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端