国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
FreeMarker如何生成靜態(tài)頁面

FreeMarker如何生成靜態(tài)頁面

標簽: Freemarker Freemarker靜態(tài)頁

一、 FreeMarker生成靜態(tài)頁原理
眾所周知,F(xiàn)reeMarker適合于作為Web應(yīng)用的表現(xiàn)層,那么我們就把把頁面中所需要的樣式放入FreeMarker文件中,然后將頁面所需要的數(shù)據(jù)動態(tài)綁定,并放入Map中,通過調(diào)用FreeMarker模板文件解析類process()方法完成靜態(tài)頁面的生成。了解了上面的原理,接下來我就一步步帶您實現(xiàn)FreeMarker生成靜態(tài)頁面。
二、 創(chuàng)建FreeMarker模板文件user.ftl。
User.ftl
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv=Content-Type content="text/html; charset=utf-8">
    <title>user.ftl</title>
  </head>
  <body>
    ${user.userName}
    ${user.userPassword}
  </body>
</html>
三、 創(chuàng)建FreeMarker模板文件解析器類FreeMarkertUtil
FreeMarkertUtil.java
//省略包的導(dǎo)入
Public class FreeMarkerUtil{
//templatePath模板文件存放路徑
//templateName 模板文件名稱
//filename 生成的文件名稱
public static void analysisTemplate(String templatePath,String templateName,String fileName,Map<?,?>root){
try {
   Configuration config=new Configuration();
  //設(shè)置要解析的模板所在的目錄,并加載模板文件
  config.setDirectoryForTemplateLoading(new File(templatePath));
   //設(shè)置包裝器,并將對象包裝為數(shù)據(jù)模型
   config.setObjectWrapper(new DefaultObjectWrapper());
   
 //獲取模板,并設(shè)置編碼方式,這個編碼必須要與頁面中的編碼格式一致
 //否則會出現(xiàn)亂碼
Template template=config.getTemplate(templateName,“UTF-8”);
   //合并數(shù)據(jù)模型與模板
   FileOutputStream fos = new FileOutputStream(fileName);
   Writer out = new OutputStreamWriter(fos,“UTF-8”);
      template.process(root, out);
      out.flush();
      out.close();
  } catch (IOException e) {
   e.printStackTrace();
  }catch (TemplateException e) {
   e.printStackTrace();
  }
 }
}
四、 創(chuàng)建FreeMarker模板文件動態(tài)綁定的數(shù)據(jù)對象類User.java
User.java
//..省略包的導(dǎo)入 
      public class User{
 private String userName;
private String userPassword;
…省略getter()與setter方法

}
五、 創(chuàng)建FreeMarker生成靜態(tài)頁面測試類ClientTest.java
//..省略包的導(dǎo)入
public class ClientTest{
 public static void main(String[] args){
 User user=new User();
  user.setUserName("張三");
  user.setUserPassword("123");
  
  Map<String,Object> root=new HashMap<String, Object>();
  root.put("user", user);
String templatesPath="D:/DevPlateForm/Eclipse/workspaces/freeMakerTest/src/templates";
  String templateFile="/user.ftl";
  String htmlFile=templatesPath+"/user.html";
    FreeMarkertUtil.analysisTemplate(templatesPath,templateFile,htmlFile,root);
}
}
注意: templatesPath為我機器上的FreeMarker模板文件存放路徑。如果您要是測試的話,可以將此改為您創(chuàng)建的模板文件存放路徑。
 好了,所有的工作都已經(jīng)完成了,我們可以運行ClientTest類來測試了。
 
 本例在您的工程中運行時,必須導(dǎo)入freemarker.jar文件,否則不能編譯。
 在我的工程中,您可以找到對應(yīng)的文件。


通過上面一個簡單的示例,相信您一定對FreeMarker如何生成靜態(tài)頁面有了了解。希望本文能對您的開發(fā)有所幫助。如果您在閱讀本文的過程中發(fā)現(xiàn)問題,請通過留言的形式給與批評指正,謝謝!

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
使用FreeMarker生成靜態(tài)頁原理和實例
java利用freemarker生成html靜態(tài)頁面
FreeMarker-網(wǎng)頁靜態(tài)化
FreeMarker使用小結(jié)
freemarker模板在客服域的使用場景及用法介紹
java導(dǎo)出生成word
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服