资源描述:
《FreeMarker功能详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、FreeMarker模版语言讲解1.FreeMarker的简单介绍。FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。FreeMarker我们的第一印象是用来替代JSP的,但是与JSP不同的是FreeMarker模板可以在Servlet容器之外使用。可以使用它们来生成电子邮件、配置文件、XML映射等。或者直接生成HTML。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(
2、如下图)2.FreeMarker入门。支持的数据类型:字符串、数字、布尔、日期容器:JSON、集合(数组)2.1.View(FreeMarker)渲染的全过程。1.1.第一个简单的FreeMarker尝试。Java代码:publicclassFreemarkerDemo{publicstaticvoidmain(String[]args)throwsException{//构建Freemarker配置对象Configurationcfg=newConfiguration();//设置模版根目录cfg
3、.setDirectoryForTemplateLoading(newFile("WebRoot/WEB-INF/ftl"));//输出,以方式输出MapoutMap=newHashMap();outMap.put("name","Vinux");//加载模板(Freemarker)文件Templatetemplate=cfg.getTemplate("demo_1.ftl","UTF-8");//显示生成的数据,//
4、将合并后的数据打印到控制台Writerout=newOutputStreamWriter(System.out);template.process(outMap,out);out.flush();}}FreeMarker代码2.2.第一个简单的FreeMarker尝试。Hello:${name}1.1.第二个简单的FreeMarker尝试,ServletWeb方式展现。//创建一个ServletpublicclassCDNForFreeMarkerServletextendsHttpServlet{
5、privatestaticfinallongserialVersionUID=1L;publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{//获取根目录StringappPath=request.getSession().getServletContext().getRealPath("/");//构建Freemarker配置对象Config
6、urationcfg=newConfiguration();//设置模版根目录cfg.setDirectoryForTemplateLoading(newFile(appPath));cfg.setDefaultEncoding("UTF-8");//输出,以方式输出MapoutMap=newHashMap();outMap.put("name","Vinux");//加载模板文件Templatetemplate=cf
7、g.getTemplate("demo1.ftl","UTF-8");try{//输出页面template.process(outMap,response.getWriter());}catch(TemplateExceptione){e.printStackTrace();}}}FreeMarker代码2.3.第二个简单的FreeMarker尝试,ServletWe
8、b方式展现。
2.3.第二个简单的FreeMarker尝试,ServletWeb方式展现。
你好:${name}