



免费预览已结束,剩余3页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
FreeMarker模版语言讲解1. FreeMarker的简单介绍。FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。FreeMarker我们的第一印象是用来替代JSP的,但是与JSP 不同的是FreeMarker 模板可以在 Servlet容器之外使用。可以使用它们来生成电子邮件、 配置文件、 XML 映射等。或者直接生成HTML。虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图)2. FreeMarker 入门。支持的数据类型:字符串、数字、布尔、日期容器:JSON、集合(数组)2.1. View(FreeMarker)渲染的全过程。2.2. 第一个简单的FreeMarker 尝试。Java代码:public class FreemarkerDemo public static void main(String args) throws Exception /构建Freemarker 配置对象Configuration cfg = new Configuration();/设置模版根目录cfg.setDirectoryForTemplateLoading(new File(WebRoot/WEB-INF/ftl); /输出,以方式输出Map outMap = new HashMap();outMap.put(name, Vinux);/加载模板(Freemarker)文件Template template = cfg.getTemplate(demo_1.ftl,UTF-8);/显示生成的数据,/将合并后的数据打印到控制台Writer out = new OutputStreamWriter(System.out); cess(outMap, out);out.flush();FreeMarker代码2.2.第一个简单的FreeMarker 尝试。Hello:$name2.3. 第二个简单的FreeMarker 尝试,Servlet Web方式展现。/创建一个Servletpublic class CDNForFreeMarkerServlet extends HttpServlet private static final long serialVersionUID = 1L;public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException /获取根目录String appPath = request.getSession().getServletContext().getRealPath(/); /构建Freemarker 配置对象Configuration cfg = new Configuration();/设置模版根目录cfg.setDirectoryForTemplateLoading(new File(appPath); cfg.setDefaultEncoding(UTF-8);/输出,以方式输出Map outMap = new HashMap();outMap.put(name, Vinux);/加载模板文件Template template = cfg.getTemplate(demo1.ftl,UTF-8);try /输出页面cess(outMap, response.getWriter(); catch (TemplateException e) e.printStackTrace();FreeMarker代码2.3.第二个简单的FreeMarker 尝试,Servlet Web方式展现。2.3.第二个简单的FreeMarker 尝试,Servlet Web方式展现。你好:$name3. FreeMarker 语法介绍。Freemarker 基本语法是EL表达式,写法和在JSP里写法一致$,自身的语法是以.方式,也可以#tag方式。以“?”作为自身方法调用,以“.”作为属性调用,下面我们来全面的介绍下。 3.1. FreeMarker注释。每个View层都是有自己的注释方式,这个地方提到的注释不同于HTML的注释方式。HTML注释方式在页面查看源码是看的到的。而FreeMarker ,JSP等模版语言的注释都是查看页面源码看不见的。其实建议我们在写代码的时候采用各种模版自身的注释方式来写注释,这样可以达到业务安全的效果。3.2. 自带空字符串(对象)处理。从JSP等其他View层使用过的童鞋们,在使用FreeMarker的时候,都会遇到一个问题,当一个值或者对象为null的时候,如果这个时候去使用就会抛出异常。这个问题上仁者见仁智者见智,谈不上好与不好。FreeMarker自带空的处理方式。v:$v?default(这是一个null对象) v1:$v1v2:$v23.3. If.else 语法FreeMarker中,如果去比较2个值是否相等,那么它必须值相等,并且类型也一致,支持比较的类型有,number(Integer、int、long、Long、double)等数据类型,String,Date。FreeMarker condition表达式比较的是类型和值,类型不一样就会报错,而JSP中则不用,这是个区别。这个值是:1这个值是:2这个值是:不知道这个值是:33.4. List 语法FreeMarker中循环(迭代)的写法和JSP用法一致。格式为,这个i表示从这个集合中,第一个元素到最后一个元素的迭代表示。我们的域名有$domains?size个:$it_index:$it篮球,足球,乒乓球,双色球$it_index:$it3.5. Include 语法页面引入3.6. Assign 语法篮球,足球,乒乓球,双色球$it_index:$it$it_index最后输出的一个值:$index3.7. 类型转换,内置函数使用定义变量:12#assign v3=true,v4= value 1 value ,html=,v5=-1.56/a:b-$(v1?number = 1)?string(类型转换成功,类型转换失败)$(v2?number?is_number)?string(v2是number类型,v2不是number类型)$(v3?is_boolean)?string(v3是Boolean类型,v3不是Boolean类型)$v4内置函数使用:- html:以html方式输出。:$html?html cap_first:首个字母大写:$v4?cap_first lower_case:小写:$v4?lower_case upper_case:大写:$v4?upper_case trim:去掉前后空格:$v4?trim size:集合的长度:$v4?split(1)?size int:返回number类型的整数:$-v5?int json:转JSON:$json?eval.a or $json?evala 当前时间输出:$date?string(yyyy年MM月 HH:mm:dd:sss)3.8. 运算优先级运算符组运算符表达式内置方法、取值index、key、?split、?default等一元前缀运算符+expr、-expr 、!expr乘除、取模* 、/ 、%加减法+ 、-关系运算符、=、(l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年玻璃纤维及其制品项目可行性研究报告
- 2025年中国农业机械市场供需预测及投资战略研究咨询报告
- 中国晶凤尾行业市场发展前景及发展趋势与投资战略研究报告(2024-2030)
- 2024年中国煤化工轻油市场供需格局及未来发展趋势报告
- 钢结构工程合同
- 2025年中国手动千斤顶行业市场发展前景及发展趋势与投资战略研究报告
- 2024年中国地板蜡行业调查报告
- 2023-2028年中国电力系统安防行业发展前景预测及投资战略咨询报告
- 中国网络货运平台行业市场调研及投资战略规划建议报告
- 浙江省体育局事业单位真题2024
- 七下第三单元《骆驼祥子》整本书阅读 公开课一等奖创新教学设计
- 小米创业思考
- 铁矿矿石的市场定位与销售渠道
- 2024届甘肃省兰州市西北师大附中物理高二第二学期期末经典试题含解析
- 坍塌事故培训课件
- 提升机安全操作规程
- 自然辩证法概论-第4章(2018新大纲)
- 国有集团公司中层及员工履职追责问责处理办法模版
- 火灾隐患整改情况报告表4
- 高三数学复习备考策略
- 《环境工程概论4》全册配套完整教学课件
评论
0/150
提交评论