日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

11(maven+SSH)网上商城项目实战之Freemarker 页面静态化

發布時間:2024/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11(maven+SSH)网上商城项目实战之Freemarker 页面静态化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FreeMarker是一個模板引擎,一個基于模板生成文本輸出的通用工具,使用純Java編寫?

l?????????FreeMarker被設計用來生成HTML?Web頁面,特別是基于MVC模式的應用程序?

l?????????雖然FreeMarker具有一些編程的能力,但通常由Java程序準備要顯示的數據,由FreeMarker生成頁面,通過模板顯示準備的數據(如下圖)

模板?+?數據模型?=?輸出

l?????????FreeMarker不是一個Web應用框架,而適合作為Web應用框架一個組件?

l?????????FreeMarker與容器無關,因為它并不知道HTTPServletFreeMarker同樣可以應用于非Web應用程序環境?

l?????????FreeMarker更適合作為Model2框架(如Struts)的視圖組件,你也可以在模板中使用JSP標記庫?

l?????????FreeMarker是免費的?


(1)實例代碼:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 package?freemaker; import?java.io.File; import?java.io.FileWriter; import?java.io.Writer; import?java.util.HashMap; import?java.util.Map; import?freemarker.template.Configuration; import?freemarker.template.Template; public?class?FreeMarkerDemo?{ ????public?static?void?main(String[]?args)?{ ????????//?配置對象?.html ????????Configuration?conf?=?new?Configuration(); ????????//?模板路徑 ????????String?dir?=?"D:\\workspace2\\freemaker\\ftl\\"; ????????try?{ ????????????//?導入模板目錄 ????????????conf.setDirectoryForTemplateLoading(new?File(dir)); ????????????//?獲取模板 ????????????Template?template?=?conf.getTemplate("freemaker.html"); ????????????//?數據 ????????????Map?root?=?new?HashMap(); ????????????root.put("world",?"世界"); ????????????//?輸出流 ????????????Writer?out?=?new?FileWriter(new?File(dir?+?"hello.html")); ????????????//?生成開始 ????????????template.process(root,?out); ????????????out.flush(); ????????????out.close(); ????????}?catch?(Exception?e)?{ ????????????e.printStackTrace(); ????????} ????????System.out.println("生成完畢"); ????} }

(2)返回對象

? ? ? ? ?

1 2 3 4 5 6 7 ???????????Person?p?=?new?Person(); ????????????p.setId(9527); ????????????p.setName("華安"); ????????????root.put("per",?p); ????? ????????????編號:${per.id}<br/> ????????????姓名:${per.name}<br/>

(3)遍歷List

? ?

1 2 3 4 5 6 7 8 9 10 11 ?????????List<Person>?list?=?new?ArrayList<Person>(); ????????????for(int?i?=0;i<10;i++){ ????????????????Person?p?=?new?Person(); ????????????????p.setId(9527+i); ????????????????p.setName("華安"+i); ????????????????list.add(p); ????????????} ????????????root.put("list",?list); ????????????<#list?list?as?p> ????????????????${p.id}?--?${p.name} ????????????</#list>

(4)遍歷Map

? ? ?

1 2 3 4 5 6 7 ???????????Map?map?=?new?HashMap(); ????????????map.put("id",?"1001"); ????????????map.put("name",?"秋香"); ????????????root.put("map",?map); ????????????<#list?map?keys?as?key> ????????????????${map[key]} ????????????</#list>


(5)遍歷List<Map>

? ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ????????????Map?map?=?new?HashMap(); ????????????map.put("id",?"1001"); ????????????map.put("name",?"秋香"); ????????????Map?map2?=?new?HashMap(); ????????????map2.put("id",?"1002"); ????????????map2.put("name",?"石榴姐"); ????????????List<Map>?maplist?=?new?ArrayList<Map>(); ????????????maplist.add(map); ????????????maplist.add(map2); ????????????root.put("maplist",?maplist); ????????????? ????????????<#list?maplist?as?map> ????????????????<#list?map?keys?as?key> ????????????????????${map[key]} ????????????????</#list> ???????????</#list>


(6)遍歷if else

?

1 2 3 4 5 6 7 ??<#list?["星期一","星期二","星期三"]?as?n> ????<#if?n!="星期一"> ????????${n} ????<#else> ????????您好今天是星期一 ????</#if> </#list>


(7)時間處理

1 2 3 ????root.put("dt",?new?Date()); ????年月時間:${dt?datetime}<br/> ????時間:${dt?time}





附件:http://down.51cto.com/data/2367126


本文轉自 l363130002 51CTO博客,原文鏈接:http://blog.51cto.com/liuyj/1714711


總結

以上是生活随笔為你收集整理的11(maven+SSH)网上商城项目实战之Freemarker 页面静态化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。