页面静态化

1.封装工具类

需要在工程里面导包freeMarker.jar

package cn.itsource.util;

import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.UUID;

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

public class FreemarkerUtil {
	public static String create(String templateurl,String templateName,Object obj,String suffix){
		//1.创建一个配置对象,用于创建模板的,需要传递一个版本
		Configuration config = new Configuration(Configuration.VERSION_2_3_28);
		//申明一个htmlurl变量接收静态页面的名称
		String htmlurl = "";
		PrintWriter out = null;
		try {
			//2.设置模板的路径
			File file = new File(templateurl);
			config.setDirectoryForTemplateLoading(file);
			//3.设置默认的编码
			config.setDefaultEncoding("UTF-8");
			//4.创建模板
			Template template = config.getTemplate(templateName);
			
			//5.处理生成文件的名称
			String uuid = UUID.randomUUID().toString().replaceAll("-", "");
			htmlurl = uuid + suffix;//jkj545dfds5f45sd4f5sd5f.html
			
			//5.生成静态资源
			out = new PrintWriter(new File(file,htmlurl));
			template.process(obj, out);
		} catch (IOException e) {
			e.printStackTrace();
		} catch (TemplateException e) {
			e.printStackTrace();
		} finally {
			if(out!=null){
				out.close();
			}
		}
		return htmlurl;
	} 
}

2.在三层架构中使用

业务层,逻辑处理在业务层

@Override
public void add(Jobs j , String templateurl) {//传入的是对象数据和模板所在路径(写在项目里面的文件夹)
	//调用工具时传入的是模板所在路径、模板文件名、(数据)对象数据、后缀名
	//然后返回一个随机名字的html的文件如4141251412.html
	String htmlurl = FreeMarkerUtil.create(templateurl, "join_us_details.ftl", j, ".html");
	//将这个文件名写入j对象的字段
	j.setHtmlurl(htmlurl);
	//继续往后面执行添加方法
	dao.add(j);
}

这样路径出来之后就可以直接访问里面的HTML页面了,也就将页面静态化了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值