- 1、本文档共33页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FreeMarker应用与开发
FreeMarker应用与开发 学习内容 一、 FreeMarker技术概述 二、 FreeMarker开发环境与技术原理 三、 FreeMarker基本语法 四、 FreeMarker开发问题总结 第一章 FreeMarker技术概述 1.1 模板引擎技术 Freemarker 是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写,具有以下特点: (1)Freemarker 适合被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序。 (2)虽然Freemarker 具有一些编程的能力,但通常由Java程序准备要显示的数据,由Freemarker 生成页面,通过模板显示准备的数据 。 (3)Freemarker 不是一个Web应用框架,而适合作为Web应用框架一个组件。 (4)Freemarker 与容器无关,因为它并不知道HTTP或Servlet;Freemarker 同样可以应用于非Web应用程序环境。 (5)Freemarker 更适合作为Model2框架(如Struts)的视图组件,你也可以在模板中使用JSP标记库。 (6)Freemarker 是免费的 。 数据模型+模版=输出 第二章 Freemarker开发环境与技术原理 Freemarker 对开发环境没有特殊要求,用普通的java应用程序+Freemarker相关的jar包,就可以使用这种技术了 2.1、创建配置实例: 1、首先你需要创建一个Configuration(freemarker.template.Configuration)的实例,设置其中的某些属性。Configuration 是存放FreeMarker 的Application 级别配置信息的一个重要地方。同时,它还负责创建及预解析模版(template) Configuration cfg = new Configuration(); // 指定一个加载模版的数据源 // 这里我设置模版的根目录 cfg.setDirectoryForTemplateLoading(new File(/where/you/store/templates)); // 指定模版如何查看数据模型.这个话题是高级主题… // 你目前只需要知道这么用就可以了: cfg.setObjectWrapper(new DefaultObjectWrapper()); 2.2创建数据模型(Data Model) 1、让我们来看一看怎么创建下面这个数据模型: (root) user = Big Joe latestProduct url = products/greenmouse.html name = green mouse 2.3获取模版(template) 1、模版对象一般就是指代freemarker.template.Template 实例。通常你可以从一 个Configuration 实例中获取模版实例。你可以通过getTemplate 这个方法来获得。 Template temp = cfg.getTemplate(test.ftl); 当你调用如上代码的时候,它将会创建一个与test.ftl 对应的模版实例,也就是读取 /where/you/store/templates/test.ftl 路径下的文件然后解析(编译)。模版对象一般存储的是经过解析过的模版内容 2.4把模版与数据模型合并 我们都知道,数据模型+模版=输出,而我们一旦拥有数据模型(root)和一个模版(template)那么我们就可以把他们合并获得输出。 以上这个过程是通过template 类的process 方法来实现的,该方法需要两个参数一个是表示数据模型的root 一个表示输出的Writer。它把解析过的文件输出到Writer 上。简单起见,我把输出指定到了控制台(标准输出) Writer out = new OutputStreamWriter(System.out); cess(root, out); out.flush(); 由于Template 实例是无状态的,一旦你获取了一个模版实例,那么你可以与不同的数据库模型多次合并。另外test.ftl 文件是在Template 实例被创建的时候就读取的,而不 是等到调用process 的时候才读取 第三章 FreeMarker基本语法 1、FreeMarker标记 FreeMarker标记的设计非常精炼,只有三种: 1) $ : ${expression} FreeMarker会在输出时用实际值进行替代 例如:${stockNum?default(‘’)} 2) # :标准的FTL标记。大部分FreeMarker指令都以#开始,可以明显地与h
您可能关注的文档
- EGO潮流广场模版.ppt
- EHD强化沸腾换热研究的进展与现状_II_实验研究.doc
- EHS三级教育.ppt
- EHS意识培训资料 班组篇.ppt
- EHS管理方案.doc
- Elliott介绍.ppt
- endnote创建style.docx
- ENDORLC通用内镜直线切割吻合器及一次性钉匣市场调研报告.doc
- English Song--There’s No Place like Home for the .ppt
- EO消防工程清单报价明细表P.doc
- (高清版)DB41∕T 738-2012 学生公寓配套用纺织品.pdf
- (高清版)DB41∕T 626-2010 商场、市场消防安全管理规范.pdf
- (高清版)DB41∕T 773-2012 水果质量安全监督抽查检验规范.pdf
- (高清版)DB41∕T 707-2011 规模牛场口蹄疫免疫技术规范.pdf
- (高清版)DB41∕T 652-2010 杏鲍菇生产技术规程.pdf
- (高清版)DB41∕T 648-2023 地理标志产品 陈化店矿泉水.pdf
- (高清版)DB41∕T 796-2013 屋顶绿化技术规范.pdf
- (高清版)DB41∕T 683-2011 森林防火总体规划编制规范.pdf
- (高清版)DB41∕T 653-2010 西瓜嫁接育苗技术规程.pdf
- (高清版)DB41∕T 746-2012 轻型电动三轮车.pdf
最近下载
- 《信息技术应用创新软件适配改造成本评估规范》.pdf
- 中国行业标准 YY/T 1939-2024医疗器械细菌内毒素试验方法 重组C因子法.pdf
- 各类游资炒股心法及感悟,套利模式.pdf
- 【客户管理】龙湖客户细分及工作模式分享精华篇-102p.pptx
- 学校智慧平台管理制度范文.docx VIP
- ASME中国制造-ISO12944-5-2018 中文译稿 第5部分 防护涂料体系.pdf
- 《诫子书》公开课课件(共24张ppt)部编版语文七年级上册.ppt
- 三年级数学下册期中试卷及答案【可打印】.doc
- 关于《佛山市市级财政资金投资建设项目工程概算预算结算.doc
- 二年级上册语文选择题强化练习(一).docx
文档评论(0)