Spring配置FreeMarker

FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件配置文件源代码等)的通用工具。 它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。

一丶要使用FreeMarker你必须添加以下jar包:

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-context-support</artifactId>
	<version>4.1.3.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.freemarker</groupId>
	<artifactId>freemarker</artifactId>
	<version>2.3.23</version>
</dependency>
      二丶到spring容器中配置FreeMarker

    <bean id="freemarkerConfig"
		class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
		<!--设置模板的位置  -->
		<property name="templateLoaderPath" value="/WEB-INF/ftl/" />
		<!--设置config的默认编码  -->
		<property name="defaultEncoding" value="UTF-8" />
	</bean>

三丶FreeMarker的使用:

package com.taotao.portal.service.impl;

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer;

import com.taotao.common.pojo.TaotaoResult;
import com.taotao.pojo.TbItem;
import com.taotao.portal.service.ItemDescService;
import com.taotao.portal.service.ItemParamService;
import com.taotao.portal.service.ItemService;
import com.taotao.portal.service.StaticPageService;

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

@Service
public class StaticPageServiceImpl implements StaticPageService {
	
	@Autowired
	private ItemService itemService;
	
	@Autowired
	private ItemDescService descService;
	
	@Autowired
	private ItemParamService paramService;
	
	@Autowired
	private FreeMarkerConfigurer configurer;
	
	@Value("${Page_Save_Path}")
	private String Page_Save_Path;
	
	@Override
	public TaotaoResult getHtmlPage(Long itemid) throws Exception {
		// TODO Auto-generated method stub
		
		TbItem item = itemService.getItemById(itemid);
		
		String param = paramService.getItemParam(itemid);
		
		String desc =descService.getDesc(itemid);
		//创建一个configuration对象
		Configuration configuration = configurer.getConfiguration();
		
		//configuration.setDefaultEncoding("utf-8");
		//设置取用的模板
		Template template = configuration.getTemplate("item.ftl");
		//创建模板所需要的数据集,可以是任何东西
		Map root = new HashMap<>();
		
		root.put("item", item);
		
		root.put("itemDesc", desc);
		
		root.put("itemParam", param);
		
		Writer out = new FileWriter(new File(Page_Save_Path+itemid+".html"));
		//调用模板的process方法创建静态对象!
		template.process(root, out);
		
		out.flush();
		out.close();
		
		return "ok";
	}

}
FreeMarker中文版API网站

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值