org.freemarkerfreemarker2.3.20commons-loggingcommons" />

黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

利用freemarker做html頁面靜態化

系統 2088 0

背景:

對實時性要求不高的網站需要靜態化操作,那么我們基于freemarker做靜態化處理

環境:

      <dependency>
	<groupId>org.freemarker</groupId>
	<artifactId>freemarker</artifactId>
	<version>2.3.20</version>
</dependency>
<dependency>
	<groupId>commons-logging</groupId>
	<artifactId>commons-logging</artifactId>
	<version>1.1.1</version>
</dependency>
    

代碼實現:

模板文件:news.ftl

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  
  <head>
    <title>
      ${article.title!}
    </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">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!-- <link rel="stylesheet" type="text/css" href="styles.css">  
    -->
  </head>
  
  <body>
    <h2>
      ${article.title!}
    </h2>
    <hr/>
    <pre>
      ${article.content}
    </pre>
  </body>
</html>
    

Java封裝類Article:

      public class Article  implements Serializable{
	private static final long serialVersionUID = 554206256994693476L;
	private String title;
	private String content;

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}

}
    

注意:此類必須為public否則報freemarker.core.InvalidReferenceException

測試實現:

      public static void main(String[] ar) throws Exception, TemplateException {
	Configuration configuration = new Configuration();
	configuration.setEncoding(Locale.getDefault(), "UTF-8");
	TemplateLoader templateLoader = new FileTemplateLoader(new File("d:/"));
	configuration.setTemplateLoader(templateLoader);
	Template template = configuration.getTemplate("news.ftl");
	template.setEncoding("UTF-8");
	File file = new File("d:/news.html");
	Map<String, Article> rootMap = new HashMap<String, Article>();
	Article article = new Article();
	article.setTitle("關于小網客");
	article.setContent("解決方案咨詢<br>大數據處理<br>系統架構<br>企業信息化咨詢<br>Email:smallnetvisitor@qq.com<br>來自北京");
	rootMap.put("article", article);
	Writer out = new OutputStreamWriter(new FileOutputStream(file), "UTF-8");

	template.process(rootMap, out);
}
    

?

說明:

此處采用了FileTemplateLoader,以D盤為根,寫的html頁面采用utf-8的編碼

結果如下圖:

?
利用freemarker做html頁面靜態化
?

?

利用freemarker做html頁面靜態化


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論