网页静态化技术--FreeMarker--FreeMarker入门小案例

标签: FreeMarker 网页静态化技术 FreeMarker使用步骤
5人阅读 评论(0) 收藏 举报
分类:

前面我们介绍了网页静态化的应用场景及FreeMarker的一些介绍,下面我们简单进行一个入门小案例,熟悉一下FreeMarker的执行流程和工作原理。

1.首先创建一个maven工程。

2.工程导入依赖。
<dependencies>
	  <dependency>
			<groupId>org.freemarker</groupId>
			<artifactId>freemarker</artifactId>
			<version>2.3.23</version>
	  </dependency>  
  </dependencies>
  <build>
	<plugins>			
		<!-- java编译插件 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-compiler-plugin</artifactId>
			<version>3.2</version>
			<configuration>
				<source>1.7</source>
				<target>1.7</target>
				<encoding>UTF-8</encoding>
			</configuration>
	     </plugin>
	</plugins>
  </build>


3.创建test.ftl文件,写入对应内容。
<html>
<head>
	<meta charset="utf-8">
	<title>Freemarker小DEMO </title>
</head>
<body>
<#--注释 FreeMarker模板四种常用元素 -->
<#--1、文本,直接输出的部分-->
<#--2、注释,即《#--...--》格式不会输出-->
<#--3、插值(Interpolation):即${..}部分,将使用数据模型中的部分替代输出-->
<#--4、FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。 -->
${name},你好。${message}
</body>


4.创建测试类及测试方法。
package cn.asiainfo.test.freemarker;
import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;
import freemarker.template.Configuration;
import freemarker.template.Template;

public class TestFreeMarker {

	public static void main(String[] args) throws Exception {
		// 1.创建configuration对象,构造方法参数是freemarker的版本号
		Configuration configuration = new Configuration(Configuration.getVersion());
		// 2.设置模板文件所在的路径,文件路径可以右键propertity查看,路径需要“\\”
		configuration.setDirectoryForTemplateLoading(new File("F:\\workspace_Item3\\spring-demo-freemarker\\src\\main\\resources"));
		// 3.设置模板文件的使用的字符集,一般使用UTF-8
		configuration.setDefaultEncoding("utf-8");
		// 4.加载一个模板,创建一个模板对象
		Template template = configuration.getTemplate("test.ftl");
		// 5.创建一个模板使用的数据集,pojo/map,常用map
		Map map = new HashMap();
		map.put("name", "八戒");
		map.put("message", "猪八戒在高老庄背媳妇");
		// 6.创建一个writer对象,来制定生成的文件名
		Writer out = new FileWriter("F:\\test.html");
		// 7.调用模板对象的process方法输出文件
		template.process(map, out);
		// 8.关闭流
		out.close();
	}
}
5.调用主方法进行测试。
会在你指定的目录生成一个html文件。

打开效果如图。


这就是使用FreeMarker进行简单的HTML页面静态化。 
查看评论

网页静态化-FreeMark

1.1. 什么是freemarkerFreeMarker是一个用Java语言编写的模板引擎,它基于模板来生成文本输出。FreeMarker与Web容器无关,即在Web运行时,它并不知道Servlet或...
  • m0_37499059
  • m0_37499059
  • 2018-04-16 22:35:21
  • 48

大型网站架构提速关键技术(页面静态化、memcached、Mysql优化)

大型网站架构关键技术介绍 1. pv值(page views),访问量大 带来问题 a. 流量大 10000000*2m ->解决方案 买带宽 ,优化程序(处理图片) b. 并发量,同时访问网...
  • u011986449
  • u011986449
  • 2014-03-09 10:56:42
  • 10492

web 页面静态化设计

写在前头 静态化是解决减轻网站压力,提高网站访问速度的常用方案,但在强调交互的We2.0 时代,对静态化提出了更高的要求,静态不仅要能静,还要能动,下面我通过一个项目,谈谈网站静态化后的架构设计方案...
  • u011130752
  • u011130752
  • 2015-04-13 17:35:13
  • 2097

静态库与动态库

1.什么是库: 通俗的说,库就是把常用函数的目标文件打包在一起,提供相应函数的接口,便于程序员使用,这样就大大提高了程序员编写代码的效率。 库大体上可以分为两类:静态库和动态库(共享库)。在win...
  • lyl194458
  • lyl194458
  • 2018-04-15 10:21:30
  • 6

静态库和动态库

静态库 动态库 Linux
  • zhaoxd200808501
  • zhaoxd200808501
  • 2017-05-22 11:44:07
  • 183

静态库 动态库

这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养...
  • csshuke
  • csshuke
  • 2015-07-13 16:21:03
  • 372

Linux下gcc生成和使用静态库和动态库详解

CSDN新首页上线啦,邀请你来立即体验! 旧版 立即体验 博客 学院 下载 GitChat 更多 论坛 问答 活动 码云 商城 ITeye 极客头条 写博...
  • jack909633117
  • jack909633117
  • 2017-12-07 10:17:07
  • 58

静态库,共享库,动态加载库

静态库、共享库、动态库的创建和使用【zz】 转载自http://blog.chinaunix.net/u/19573/showart_1822303.html 通常库分为:静态库,共享库,...
  • yhj110911119
  • yhj110911119
  • 2016-08-15 23:44:22
  • 880

Windows静态库和动态库的创建和使用 (lib vs dll)

偶们在实际的编程开发中,经常会遇到运行时无法找到某个DLL文件或者链接时无法找到某个LIB文件。然后,我们就开始乱GOOGLE一下,然后将VS2005的设置改变一下,或许就Ok了,我们将别人开发的DL...
  • wlanye
  • wlanye
  • 2013-08-14 12:25:01
  • 1191
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 7433
    积分: 512
    排名: 9万+
    博客专栏
    文章存档