FrameMaker 0 부터 학습 코드 까지

7034 단어 javaSE
Freemaker 중국어 강좌
http://download.csdn.net/detail/ch656409110/4494063
제 코드 주소 입 니 다.
http://download.csdn.net/detail/fulq1234/9699798
  FrameMaker从零到学习编码_第1张图片
0,frameMaker 는 가방 을 가 져 와 야 합 니 다.maven,pom.xml 을 사용 하면

     org.freemarker
     freemarker
     2.3.25-incubating
   

1,main 함수 실행
simpleFTL.ftl
당신 의 나 이 는${age}입 니 다.
이름 이${name}입 니 다.
SimpleFTL.java
package com;
import java.io.File;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
importfreemarker.template.Configuration;
importfreemarker.template.Template;
public class SimpleFTL {
         publicstatic void main(String args[]) throws Exception{
                   //1,  framemaker     ,F:\\CODE\\test.my\\src\\main\\java\\template template     
                   Configuration cfg=new Configuration();
                   cfg.setDirectoryForTemplateLoading(newFile("src\\main\\java\\template"));//         ,        
                   //2,    
                   Template t1=cfg.getTemplate("simpleFTL.ftl");//          ,           。
                   Map map=new HashMap();
                   map.put("age","1");
                   map.put("name","  ");
                  
                   //     
                   Writer write=new OutputStreamWriter(System.out);
                   t1.process(map,write);
                   write.flush();
                   write.close();
                  
         }
}
 

ftl1.html




FrameMaker

   label{
      color:red;
   }



${user}

Our lastest products: ${lastestProduct.url}
${lastestProduct.name}
:${manylevel.name.name.name}
#if>
${temp},#list>
${temp},#list>
${sarr[0]}
${temp}, #list>
Joe:${ages.Joe} BB:${ages.BB}
${1+2/3}
${(1+2/3)?int}
It is BigJoe
It is not BigJoe
#if>
I am 0 I am 1 I am default #switch>

 
FTL1Servlet.java
package com;
 
import java.io.File;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
 
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
 
importfreemarker.template.Configuration;
importfreemarker.template.Template;
importfreemarker.template.TemplateException;
@WebServlet(name="ftl1",urlPatterns="/ftl1")
public class FTL1Servlet extendsHttpServlet {
         protectedvoid doGet(HttpServletRequest request,HttpServletResponse response) throwsServletException,IOException{
                   //      
                   Configuration cfg=new Configuration();
                   cfg.setDirectoryForTemplateLoading(newFile("F:\\CODE\\test.my\\src\\main\\java\\template"));
                   String ftl="ftl1.html";
                   //    
                   Template t1=cfg.getTemplate(ftl);
                   //    
                   Map root=this.getRootMap();                  
                  
                   Write rwriter=new OutputStreamWriter(response.getOutputStream());
                   try{
                            t1.process(root,writer);
                   }catch (TemplateException e) {
                            //TODO Auto-generated catch block
                            e.printStackTrace();
                   }
                   writer.flush();
                   writer.close();
                  
                  
         }
         protectedvoid doPost(HttpServletRequest request,HttpServletResponse response) throwsServletException,IOException{
                   doGet(request,response);
         }
        
         privateMap getRootMap(){
                   Map root=new HashMap();
                   root.put("user","Big Joe");
                   Map latest=new HashMap();
                   root.put("lastestProduct",latest);
                   latest.put("url","products/greenmouse.html");
                   latest.put("name","green mouse");
                  
                   //      
                   Map level1=new HashMap();
                   level1.put("name","Little people");
                  Map level2=new HashMap();
                   level2.put("name",level1);
                   Map level3=new HashMap();
                   level3.put("name",level2);
                   root.put("manylevel",level3);
                  
                   Set set=new TreeSet();
                   set.add(1);
                   set.add(2);
                   set.add(11);
                   set.add(5);
                   set.add(1);
                   set.add(1);
                   set.add(1);
                   System.out.println("set="+set);
                   root.put("set1",set);
                   //List
                   ArrayList list=new ArrayList();
                   list.add(5);
                   list.add(1);
                   list.add(4);
                   list.add(5);
                   list.add(5);
                   list.add(5);
                   System.out.println("list="+list);
                   root.put("l",list);
                  
                   //  
                   String[] sarr=new String[]{" "," "," "};
                   root.put("sarr",sarr);
                   return root;
                  
         }
}

표준 템 플 릿 파일 확장 자 는 ftl 이지 만 html 확장자 일 수도 있 습 니 다.
FrameMaker 는 콘 솔 System.out 에 출력 할 수 있 습 니 다.
Servlet 를 통 해 브 라 우 저 로 방문 하여 html 페이지 를 되 돌려 줄 수도 있 습 니 다.response.getOutputStream()

좋은 웹페이지 즐겨찾기