热门关键字:
jquery > jquery教程 > html5 > FreeMarker 快速入门

FreeMarker 快速入门

339
作者:管理员
发布时间:2021/1/16 17:57:16
评论数:0
转载请自觉注明原文:http://www.jq-school.com/Show.aspx?id=3194
  FreeMarker是一个很值得去学习的模版引擎。它是基于模板文件生成其他文本的通用工具。本章内容通过如何使用FreeMarker生成Html web 页面 和 代码自动生成工具来快速了解FreeMarker。


  FreeMarker是一款用java语言编写的模版引擎,它虽然不是web应用框架,但它很合适作为web应用框架的一个组件。


  特点:


  1. 轻量级模版引擎,不需要Servlet环境就可以很轻松的嵌入到应用程序中


  2. 能生成各种文本,如html,xml,java,等


  3. 入门简单,它是用java编写的,很多语法和java相似


  工作原理:(借用网上的图片)


  这里通过模拟简单的代码自动生产工具来感受第一个FreeMarker程序。


  项目目录结构


  项目创建流程


  第一步:创建一个maven项目导入 FreeMarker jar 包


  第二步:创建目录templates,并创建一个 FreeMarker模版文件 hello.ftl


  第三步:创建一个运行FreeMarker模版引擎的 FreeMarkerDemo.java 文件


  第四步:运行main方法后刷新项目


  pom.xml 文件 ,maven 项目核心文件,管理 jar 包。


  hello.ftl  FreeMarker基本语法: ${xxx} xxx 相当于占位符,java后台给xxx赋值后,再通过${}输出


  FreeMarkerDemo.java 核心方法,使用 FreeMarker 模版引擎。


  运行程序后刷新项目,会发现多了一个AutoCodeDemo.java类。不仅仅是java类,xml也是可以。笔者就是通过FreeMarker做了一个简易的工具类,公司的一个标准管理页面及其增删改查等功能,以及相关的配置文件(十三个文件),一个回车就全部自动生成(偷懒ing)。


  语法和java很类似,其中宏的概念可能比较陌生,先上代码


  stringFreeMarker.ftl  FreeMarker主要核心知识点


  otherFreeMarker.ftl 为了测试命名空间 和 include 指令的FreeMarker文件


  FreeMarkerDemo.java 核心方法


  User.java 为了测试 FreeMarker的集合对象


  最后的打印结果


  数据类型


  和java不同,FreeMarker不需要定义变量的类型,直接赋值即可。


  字符串: value="xxxx" 。如果有特殊字符 string=r"xxxx" 。单引号和双引号是一样的。


  数值:value=1.2。数值可以直接等于,但是不能用科学计数法。


  布尔值:true or  false。


  List集合:list=[1,2,3] ; list=[1..100] 表示 1 到 100 的集合,反之亦然。


  Map集合:map=,key 必须是字符串哦!


  实体类:和EL表达式差不多,直接点出来。


  字符串操作


  字符串连接:可以直接嵌套$


  字符串截取:string[index]。index 可以是一个值,也可以是形如 0..2 表示下标从0开始,到下标为2结束。一共是三个数。


  比较运算符


  ==(等于),!=(不等于),gt(大于),gte(大于或者等于),lt(小于),lte(小于或者等于)。不建议用 >,<  可能会报错!


  一般和 if 配合使用


  内建函数


  FreeMarker 提供了一些内建函数来转换输出,其结构:变量?内建函数,这样就可以通过内建函数来转换输出变量。


  1. html: 对字符串进行HTML编码;


  2. cap_first: 使字符串第一个字母大写;


  3. lower_case: 将字符串转成小写;


  4. upper_case: 将字符串转成大写;


  5. size: 获得集合中元素的个数;


  6. int: 取得数字的整数部分。


  变量空判断


  !    指定缺失变量的默认值;一般配置变量输出使用


  判断变量是否存在。一般配合if使用 <#if value></#if>


  宏指令


  可以理解为java的封装方法,供其他地方使用。宏指令也称为自定义指令,macro指令


  语法很简单:<#macro val > 声明macro </#macro>; 使用macro <@val />


  命名空间


  可以理解为java的import语句,为避免变量重复。一个重要的规则就是:路径不应该包含大写字母,使用下划线_分隔词语,myName --> my_name


  语法很简单:<#import "xxx.ftl" as val>


  其他没有说明的语法是因为和java一样,没什么特别之处。所以没有列出来。


  这里是和SpringMVC整合的,SpringMVC的配置就不多说了,笔者也写过相关的文章,同时也会提供源码


  导入相关的jar pom.xml


  springmvc的配置文件:


  Controller 层


  最后是Freemarker文件


  源码地址:


  1. 知道了FreeMarker是一块模版引擎,可以生产xml,html,java等文件


  2. 知道了FreeMarker文件提供占位符,java文件提供数据,通过FreeMarker模版引擎生产有数据的页面,文中是将数据放在Map中。web应用可以用setter/getter 方法


  3. 知道了FreeMarker语法中字符串的显示特殊字符,截取的操作。以及一些内置方法的使用


  4. 重点了解FreeMarker的空判断知识点。判断变量是否为空用 "" ,如果变量为空设置默认值。如果不注意空问题,可能会出现黄色页面的提示哦!


  5. FreeMarker的宏概念,命名空间,引入文件,给变量赋值,集合的遍历等。


  6. Freemarker 整合SpringMVC。




如果您觉得本文的内容对您的学习有所帮助:支付鼓励



关键字:html5
友荐云推荐