freemarker简单入门

首先用freemarker要用到freemarker jar包。我这边是用简单的servlet做的一个简单的例子,静态化页面的类型是html。

用freemarker要用到ftl文件,这个文件是页面静态化的模板,就是<html>标签写好,你带入的数据直接填进去

equipment.ftl文件如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
<title>武汉亿童网|亿童幼儿教育|幼儿学前教育装备|区域活动|玩教具|幼教装备</title>
</head>
<body>
	名字:<span>${name}</span></br>
	自我介绍:<span>${desc}</span></br>
	年龄:<span>${age}</span></br>
</body>
</html>


TestFreemarker.java文件如下:

package freemarker;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


import freemarker.template.Configuration;
import freemarker.template.Template;



public class TestFreemarker extends HttpServlet{
	@Override
	public void service(HttpServletRequest request, HttpServletResponse response){
		Writer out = null;
		Map<String,Object> map = new HashMap<String, Object>();//map是你要带入到ftl文件的数据
		map.put("name", "zhang");
		map.put("desc", "nihao");
		map.put("age", 23);
		ServletContext context = request.getServletContext();
		String path = context.getRealPath(File.separator);
		//我这定义的静态页面类型是html,当然可以是其他类型
		String savePath = path+File.separator+"public"+File.separator+"1.html";
		Configuration cfg = new Configuration();//模板的配置  
                  //设置加载路径,第一个参数是serlvet上下文,第二个参数是ftl文件所在文件夹
		cfg.setServletContextForTemplateLoading(context,"modal");  
                  cfg.setDefaultEncoding("UTF-8"); 
        try {
			Template template = cfg.getTemplate("equipment.ftl");//equipment就是ftl文件的名字  
			template.setEncoding("UTF-8"); 
			File file= new File(savePath);//确定静态的页面生成的文件路径 
			out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"UTF-8"));  
			template.process(map, out);//第一个参数是数据,第二个参数是生成文件的IO流
		} catch (Exception e) {
			e.printStackTrace();
		} 
	}

}

web.xml文件

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<servlet>
		<servlet-name>servlet2</servlet-name>
		<servlet-class>freemarker.TestFreemarker</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>servlet2</servlet-name>
		<url-pattern>/hello</url-pattern>
	</servlet-mapping>
</web-app>	

工程结构

 

现在已经写完了,直接去浏览器输入localhost:8080/test/hello 就生成了,

可以在文件夹:...\\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\test\public\1.html找到

结果:

数据已经填入进去!ok

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值