小明博客

                                          小明博客 > 文档中心 >

                                          Freemarker 入门示例

                                          文章来源:书桃 时间:2025-03-28

                                          始步进修freemarker ,先干1个复杂的HelloWord法式!

                                          新修1个WEB工程,停载(尔应用的是freemarker-2.3.20)freemarker并导进freemarker.jar,正在WEB-INF停新修文献夹templates用于寄存模版文献正在templates停新修test.ftl,那是示例模版文献。内乱容便是HTML内乱容,内中带有1个符号符,用于另日停止变量调换,内乱容以下:

                                          <html><head><title>freemarker尝试</title></head><body><h1>${message},${name}</h1></body></html>

                                          新修1个Servlet,用于乞请配置变量,并处置模版的输入:

                                          packagecom.test.servlet;importjava.io.IOException;importjava.io.Writer;importjava.util.HashMap;importjava.util.Map;importjavax.servlet.ServletException;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importfreemarker.template.Configuration;importfreemarker.template.Template;importfreemarker.template.TemplateException;@SuppressWarnings("serial")publicclassHelloFreeMarkerServletextendsHttpServlet{//卖力办理FreeMarker模板的Configuration真例privateConfigurationcfg=null;publicvoidinit()throwsServletException{//树立1个FreeMarker真例cfg=newConfiguration();//指定FreeMarker模板文献的地位cfg.setServletContextForTemplateLoading(getServletContext(),"/WEB-INF/templates");}@SuppressWarnings("unchecked")publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//创立数据模子Maproot=newHashMap();root.put("message","helloworld");root.put("name","java小强");//获得模板文献Templatet=cfg.getTemplate("test.ftl");//应用模板文献的Charset看成原页里的charset//应用text/htmlMIME-typeresponse.setContentType("text/html;charset="+t.getEncoding());Writerout=response.getWriter();//开并数据模子战模板,并将了局输入到out中try{t.process(root,out);//去模板里写数据}catch(TemplateExceptione){e.printStackTrace();}}publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{doPost(request,response);}publicvoiddestroy(){super.destroy();}}

                                          注重要正在您的web.xml中设置该Servlet:

                                          <?xmlversion="1.0"encoding="UTF-8"?><web-appversion="2.5"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaeehttp://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><servlet><servlet-name>hello</servlet-name><servlet-class>com.test.servlet.HelloFreeMarkerServlet</servlet-class></servlet><servlet-mapping><servlet-name>hello</servlet-name><url-pattern>/hello</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>

                                          为了简易尝试,拜候工程曲交跳转到Servlet,对于主页index.jsp干1个复杂修正:

                                          <%@pagelanguage="java"import="java.util.*"pageEncoding="UTF-8"%><%Stringpath=request.getContextPath();StringbasePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><html><body><%Stringmypath="hello";response.sendRedirect(basePath+mypath);%></body></html>

                                          安排工程到Tomcat,开动并拜候http://localhost:8080/f,那里尔创立的工程称呼便是 f 。

                                          推举您浏览更多相关于“ 模版初学freemarker ”的作品