我的開發環境
框架: 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》。