1.首先建一個工程(我建的是Web Project)
2.在WebRoot下建一個文件夾,命名爲 freemarker , 再文件夾中建一個test.ftl文件,內容下如: <%@ page language="java" pageEncoding="GBK" contentType="text/html;charset=GBK"%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> The first test: ${persion} </body> </html>
3.建一個類內容下如:
package com.air.freemarker; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStreamWriter; import java.io.Writer; import java.util.HashMap; import java.util.Map; import freemarker.template.Configuration; import freemarker.template.DefaultObjectWrapper; import freemarker.template.Template; import freemarker.template.TemplateExceptionHandler; public class Test { public static void main(String[] args) throws Exception{ //模板路徑 String dir = Test.class.getResource("/").getPath().split("WEB-INF")[0] + "freemarker"; Configuration cfg = new Configuration(); //加載freemarker模板文件 cfg.setDirectoryForTemplateLoading(new File(dir)); //設置對象包裝器 cfg.setObjectWrapper(new DefaultObjectWrapper()); //設計異常處理器 cfg.setTemplateExceptionHandler(TemplateExceptionHandler.IGNORE_HANDLER); //定義並設置數據 Map<String, String> data = new HashMap<String, String>(); data.put("persion", "小吳"); //獲取指定模板文件 Template template = cfg.getTemplate("test.ftl"); //定義輸入文件,默認生成在工程根目錄 Writer out = new OutputStreamWriter(new FileOutputStream("test.html"),"GBK"); //最後開始生成 template.process(data, out); System.out.println("successful"); } }
4.簡單例子完成
這幾天在看密碼學的長度擴展攻擊,看了不少文章,感覺都說得不夠清楚,自己弄清楚之後想寫一篇,做一個記錄。 1. 簡介 長度擴展攻擊(length extension attack),是指針對某些允許包含額外信息的加密散列函數
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 目錄 0x01 客戶端驗證繞過(javascript 擴展名檢測) 0x02 服務端驗證
讓這些數據可操作,需要進行數據提取、轉換、解析和編排,從而在傳統商業智能、機器學習、模型訓練、可視化和報表等場景中廣泛應用。儘管在Uber迅速發展的初期,上線了廣覆蓋面的數據工作流系統,用戶須針對每種用例選擇幾種工具疊加使用。儘管此大型工
Marquez是一款開源的元數據服務,用於數據生態系統元數據的收集、彙總及可視化。它維護着數據集的消費和生產,爲作業運行時和數據集訪問頻率提供全局可見性,提供集中的數據集生命週期管理等。WeWork發佈並開源了Marquez。 Marq
在數據Show的這期節目中,記者採訪了Stitch Fix的軟件工程師Neelesh Salian,該公司結合了機器學習和人類專業知識進行了個性化購物的研究探索。隨着公司將機器學習集成到其產品和系統中,關鍵基礎技術開始發揮作用。這並不意外
智領雲第六次技術直播如約而至。智領雲科技解決方案架構師文徵就數據中臺的行業應用與實踐與與會的觀衆進行了深入細緻的交流。 在前五次的直播中,智領雲科技的諸多技術大咖們分別對數據中臺的一些概念、方法論以及底層所涉及到的技術,都做了很詳細的講
智領雲聯合創始人&CTO,前EA(藝電)大數據平臺高級工程經理宋文欣博士再度直播開講,爲觀衆深度剖析了數據中臺的技術架構。 數據中臺的定義 在介紹數據中臺技術架構之前,宋文欣博士表示,在談到設計數據中臺建設需要的體系架構時,首先需要
本文來源於阿里雲-雲棲社區,原文點擊這裏。 開發時,Vue會提供很多警告來幫你解決常見的錯誤與陷阱。生產時,這些警告語句卻沒有用,反而會增加你的載荷量。再次,有些警告檢查有小的運行時開銷,生產環境模式下是可以避免的。 不用打包工具
本文來源於阿里雲-雲棲社區,原文點擊這裏。 共享充電寶、共享單車、共享雨傘,共享女朋友^|^,共享汽車,。。。 共享經濟最近幾年發展確實非常迅猛。 共享必定涉及被共享對象的管理、會員的管理等,實際上也屬於一種物聯網系統。 本文以
本文來源於阿里雲-雲棲社區,原文點擊這裏。 9月12日虛擬化平臺新產品的媒體溝通會上,不少記者對雞蛋演示的demo很感興趣也有一些疑惑。看看來自小白不菜的精彩分享吧。 雞蛋究竟宜不宜生喫——看阿里雲計算怎麼破? 姐告訴你
這次618京東實現下單金額2692億元,你貢獻了多少份額呢? 從5月25日-5月31日進入預熱階段,6月1日-6月15日進入專場階段,6月16日-6月18日進入高潮階段,6月18日-6月20日進入返場階段,每個階段都有每個階段的玩法,優惠
比如請看www.itofly.com 首先需要把域名作CNAME設置到 ghs.google.com. 然後再blogger.com的控制檯內,選擇設置-〉發佈-〉自定義域,填上域名即可。設定後,原先的blogspot.com二級域
第四課 工具條和狀態欄 在上一課中,同學們已經學到了一些基本的界面設計技術。這一課將指導大家如何設計實現工具條和狀態欄,並進一步加深對消息驅動機制的理解。 圖4.1 工具條和狀態欄 如圖4.1所示,工具條和狀態欄是一個完善的Wi
第十一講 多媒體編程 隨着多媒體技術的迅猛發展和PC性能的大幅度提高,在PC機上運行的應用程序越來越多地採用了多媒體技術.如果你編寫的應用程序能夠發出美妙的聲音,播放有趣的動畫,無疑將會給人留下深刻的映象. Windows 9
第二課 使用Visual C++ 5.0 在這一章裏,我們將介紹Visual C++的集成開發環境Visual Studio及其組件,以及使用Visual C++基礎類庫MFC編程的一些基礎知識。2.3 WIN32開發 Vi