freemarker是什么东西?
前言
由于考虑到网站访问量,以及tocmat可能承受的最大访问压力,我们需要引进一些比较好的技术,来解决这个问题。所以在项目快要结束之际又收到消息,我们要考虑到这些问题然后对现在的项目进行改进,于是就有了今天,我对freemarker的理解和认识。
一、什么是freemarker
FreeMarker是一个用Java语言编写的模板引擎。它基于模板来生成文本输出。Freemarker与web容器无关,即在web运行时,它并不知道servlet或者HTTP,它不仅可以用作表现层的实现技术,而且还可以用于生成XML,JSP或Java等。目前在企业中,主要用freemarker做静态页面或是页面展示。
其实在我的理解freemarker就是一种工具,它能把jsp页面转换成静态页面,为用户的访问节省时间,同样减少服务器的压力。
二、freemarker的使用方法
第一步:将freemarker的jar包添加进项目中。如果你建立的是maven项目,那么在pom.xml中直接引入依赖,maven会自动给下载这个jar包。
第二步:freemarker的运行并不依赖web容器,可以在java工程中运行。这样我们就可以创建一个测试方法进行测试
第三步:创建一个configuration对象。
第四步:告诉config对象模板文件存放的路径。
第五步:设置config的默认字符集。一般是utf-8。
第六步:从config对象中获得模板对象,需要制定一个模板文件的名字。
第七步:创建模板需要的数据集,可以试一个map对象,也可以试一个pojo。把模板需要的数据放入数据集。
第八步:创建一个Writer对象,指定生成文件保存的路径及文件名。
第九步:调用模板对象的process方法生成静态文字。需要两个参数数据集合writer对象。
第十步:关闭write对象。
freemarker是什么东西?的更多相关文章
- sonn_game网站开发01:写在最前面
之前做的个人博客项目,日向博客现在已经进入后期完善阶段了.是时候开始打造一个新坑了. 然而改造个什么坑呢?构思了好几天,想了好多方案,都觉得没啥动手欲望.因为,我想做的是那种,自己能用得上,而且有一定 ...
- FreeMarker的基础语法
FreeMarker语言 FreeMarker语言概述 FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写. FreeMarker被设计用来生成HTML Web ...
- FreeMarker模板开发指南知识点梳理
freemarker是什么? 有什么用? 怎么用? (问得好,这些都是我想知道的问题) freemarker是什么? FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生 ...
- FreeMarker 学习
一.FreeMarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是 ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- freemarker:简介
Apache FreeMarker模板引擎:Java库来生成文本输出(HTML网页,电子邮件,配置文件,源代码,等等)基于模板和变化的数据.模板都写在FreeMarker模板语言(FTL),这是一个简 ...
- MyEclipse10 中的两种FreeMarker插件的安装与配置
第一个插件是: freemarker-ide MyEclipce10.0中安装FreeMarker插件,这绝对是最简单的方法 ...
- 《转》Spring4 Freemarker框架搭建学习
这里原帖地址:http://www.cnblogs.com/porcoGT/p/4537064.html 完整配置springmvc4,最终视图选择的是html,非静态文件. 最近自己配置spring ...
- FreeMarker惯用内置函数
1.sequence?first 返回sequence的第一个值. 2.sequence?last 返回sequence的最后一个值. 3.sequence?reverse 将sequence的现有顺 ...
随机推荐
- Windows 10 Update
services.msc Windows Update
- Go语言中的string知识点
1.Go语言String的本质就是一个[]byte,所以他们之间可以互相转换,byte数组的长度就是字符串的长度. func StringTest1() { str := "Hello,Wo ...
- Android 入门(1)使用第三方控件
最近公司需要,准备开发扫描枪. 话不多说,直接开始 创建新项目 1 如果遇到 Error:Execution failed for task ':app:preDebugAndroidTestBuil ...
- jatoolsprinter web打印控件直接打印不弹出
1.功能 主要是实现页面点击按钮,不弹窗,直接打印. 可以指定某个打印机打印 可以使用默认打印机打印 2.版本 主要有:免费版跟付费版 免费版官网:http://printfree.jatools.c ...
- [mstsc]解决win8 win10 平板无法被mstsc连接的问题
问题如下: https://answers.microsoft.com/zh-hans/windows/forum/windows_8-performance/win8%E6%97%A0%E6%B3% ...
- intellij 操作
默认快捷键 ctrl+alt+l 格式化代码 alt+insert代码自动生成 代码生成 编辑框右键>generator>选择
- mycat 使用
介绍 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据库的通用中间件代理. 基 ...
- Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档
Linux测试硬盘读性能的常用工具-hdparm和dd俩搭档 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.hparm # 它用来在基于 Linux的系统上获取或 ...
- CMDB服务器管理系统【s5day90】:获取今日未采集主机列表
1.目录结构 1.服务器端 2.客户端 2.具体代码如下 1.数据库增加两个字段 class Server(models.Model): """ 服务器信息 " ...
- django - 总结 - 中间件
中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出.因为改变的是全局,所以需要谨慎实用,用不好会影响到性能. MID ...