freemarker 模版简介 if指令
来源:互联网 发布:淘宝女士沙滩鞋 编辑:程序博客网 时间:2024/05/17 15:59
简介:
1.${expression} :有点像JSP中的el表达式,但是在freemarker中这个不叫el表达式,功能上大致一样,它将会输出真实的值来替换花括号里的表达式,向这样的表达式(指的是在freemarker中)这样的表达式被称为插值.
2.Comments注释:freemarker的注释其实和html的注释是差不多的这个是html的注释(<!---->),那么freemarker的注释就是将那个感叹号换成了#号也就是<#--和-->来分隔任何介于这两个分隔符之间的内容将都会被freemarker忽略,不会输出.
原文:http://blog.csdn.net/yhc13429826359/article/details/9130503
3.FTL标签(Freemarker模版语言的标签)和HTML有点相似之处,就是标签都是成对出现的(但是这个在html中不是绝对的),这些标签的前缀一般以#开头,写过自定义JSP标签的就很熟悉什么是前缀,在以后的高级中将会碰到以@号前缀开头的标签,这个就是freemarker的用户自定义标签了,前缀以示区分.
freemarker有很多指令,在这里就只说其中3个指令最常用的,其实这个文章完全是参照freemarker官方文档写的,只不过将叙述直接编程了代码.
在这里给大家推荐一个工具就是Jboos Tools有一个freemarker IDE 有语法提示和检查功能,可以加快开发效率和速度,在运行前就能找到错误值所在.
项目结构图:
Java类 Test.java
package org.freemarker.test;import java.io.File;import java.io.IOException;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.HashMap;import java.util.Map;import freemarker.template.Configuration;import freemarker.template.DefaultObjectWrapper;import freemarker.template.Template;import freemarker.template.TemplateException;public class Test {public static void main(String[] args) throws IOException,TemplateException {Configuration cfg = new Configuration();// 指定模板文件从何处加载的数据源,这里设置成一个文件目录。cfg.setDirectoryForTemplateLoading(new File("./template"));// 指定模板如何检索数据模型,这是一个高级的主题了…// 但先可以这么来用:cfg.setObjectWrapper(new DefaultObjectWrapper());// 创建根哈希表Map<String,Object> root = new HashMap<String,Object>();// 在根中放入字符串"username"root.put("username", "admin");//当前是星期几0-6root.put("today", 0);//系统异常数量root.put("errors",12 );// 获取模版Template temp = cfg.getTemplate("if.ftl");Writer out = new OutputStreamWriter(System.out);temp.process(root, out);out.flush();out.close();}}
模版 if.ftl
<#-- 在这里我们告诉freemarker只有当username等于admin的时候才显示提示信息,当 if后面的条件是false值时,if标签内部非内容将被忽略. ==是来判断她两侧的值是否相等的操作符,比较的结果是boolean值 --><#if username == "admin"> 你好,超级管理员!</#if><#-- 当在星期天(星期天用0代表)的时候,输出以下信息 注意:数字不用放在引号内,如果将数字0放在引号内("0"),freemarker会将其误判为 字符串类型.--><#if today==0> 周末好,超级管理员.</#if><#-- 也可以这样表示大于或者是小于,!=就是不等于 以下的意思是如果异常数量大于0就提示管理员异常数量,如果不大于0就提示无异常 注意使用原始的> ,<或者是 !=,一定要用()括号括起来,否则freemarker将 视为这是该标签的回标签,那就是异常了.--><#if (errors > 0) >系统出现异常,异常数量为${errors}<#else>系统未出现异常.</#if>
最后的输出结果:
- freemarker 模版简介 if指令
- FreeMarker-if指令
- freemarker if指令 多条件使用
- freemarker指令
- Freemarker指令
- Freemarker指令
- FreeMarker 指令
- FreeMarker指令
- FreeMarker 指令
- [Freemarker] freemarker自定义指令
- [FreeMarker 2.3.20] Part I 关于模版设计的介绍 ~模板~架构总览、指令
- 模版引擎FreeMarker
- freemarker 模版生成文件
- freemarker 模版引擎
- freemarker 模版静态化
- FreeMarker 模版框架学习
- freemarker 模版静态化
- FreeMarker 简介
- 二维码营销:智能手机引领的创新革命
- mysql5.6.10关于慢查询的设置slow-query-log
- vm linux网络配置(上网及跟主机连通)
- 存储学习之路
- 64位ubuntu无法安装 beyond compare 的解决方法
- freemarker 模版简介 if指令
- 设计UI的基本思路
- DllMain函数详解
- js、c#修改ie设置,针对注册表的修改
- 如何给DateTimePicker这个控件在窗体显示时的值为空?
- C++开源库
- C语言字符串温习
- 【资讯】Linux创始人用什么桌面?
- linux下ipv6的Qos限速实现