FrameMaker 0 부터 학습 코드 까지
7034 단어 javaSE
http://download.csdn.net/detail/ch656409110/4494063
제 코드 주소 입 니 다.
http://download.csdn.net/detail/fulq1234/9699798
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()
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ContentResolver를 사용하여 커뮤니케이션에 액세스하는 ContentProvider1. Content Provider는 안드로이드의 4대 구성 요소 중 하나로 위에서 설명한 바와 같이 만약에 콘텐츠 공급자가 다른 응용 프로그램에 접근한다면 이 글은 콘텐츠 해석자로 시스템의 통신록 콘텐츠 공급자에 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.