今天下午才接觸到Freemarker這個新組件,同樣,它也是java開源代碼之一。
經過今天的初步使用,感覺它的作用是減輕編寫Servlet的工作量的。我想它也應該應用在jsp頁面里面。有人說jsp還要經過轉換才變成Servlet才能運行,比直接寫servlet運行要慢,我覺得這種擔心是多余的,因為jsp比servlet只慢一次(第一次請求為編譯,之后就把servlet代碼駐留在服務器了)。
我作Freemarker的試驗的步驟是:
1,下載freemarker,address is :http://www.freemarker.org/freemarkerdownload.html
2,release it ,然后把\freemarker-2.3.8\lib下的freemarker加入到eclipse.
3.在WEB-INF/下面新建templates文件包,然后在里面新建擴展名為ftl的模板。
4.新建 servlet,in it write your code like this:
? void? init ()throw ServletException{
cfg = new Configuration();
cfg.setServletContextFromTemplateLoading(getServletContext,"WEB-INF/test.ftl");
}
public void doGet(HttpServletRequest request,HttpServlsetResponse response)throw ServletException ,IOException{
Map root = new HashMap();
root.put("message",“hello world”);
Template t =cfg.getTemplate("text/html");
PrintWriter out = response.getWriter();
try{
t.prosess(root,out);//看到了吧?用模板來開發servlet可以讓我們用一句代碼代替一堆代碼。
?? }catch(TemplateException e?){ e.print...}
}