freemarker笔记

本文详细介绍了如何在Spring框架中整合Freemarker模板引擎,包括必要的Maven依赖、Spring配置以及示例代码,展示了如何将数据模型传递给模板并生成HTML文件。
/xml配置文件/其他配置/freemarker配置/freemarker笔记.txt
模板必须是utf-8,在preferences里设置成utf-8后还需要用notepad++编码成utf-8
    <html>
        <head>
            <meta charset="utf-8">
            <title>Freemarker入门小DEMO </title>
        </head>
        <body>
            <#--我只是一个注释,我不会有任何输出  -->
            ${name},你好。${message}
        </body>
    </html>


具体笔记 见外面4个文件


spring整合freemarker配置:
1、导包
    <dependency>
        <groupId>org.freemarker</groupId>
        <artifactId>freemarker</artifactId>
    </dependency>  
    
2、spring配置文件:这里我配置了xmlns:beans="http://www.springframework.org/schema/beans",
不然可以把beans全部去掉,而且templateLoaderPath使用/WEB-INF/flt始终找不到,原因不明
    <beans:bean id="freemarkerConfig"    
    class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
        <beans:property name="templateLoaderPath"
         value="classpath:/flt" />        
        <beans:property name="defaultEncoding" value="UTF-8" />    
    </beans:bean>
    
3、后台代码如下:
    public class ItemPageServiceImpl implements ItemPageService {
        @Value("${pagedir}")
        private String pagedir;    
        @Autowired
        private FreeMarkerConfig freeMarkerConfig;    
        @Autowired
        private TbGoodsMapper goodsMapper;    
        @Autowired
        private TbGoodsDescMapper goodsDescMapper;        
        @Override
        public boolean genItemHtml(Long goodsId){                
            try {
                Configuration configuration = freeMarkerConfig.getConfiguration();
                Template template = configuration.getTemplate("item.ftl");
                Map dataModel=new HashMap<>();            
                //1.加载商品表数据
                TbGoods goods = goodsMapper.selectByPrimaryKey(goodsId);
                dataModel.put("goods", goods);            
                //2.加载商品扩展表数据            
                TbGoodsDesc goodsDesc = goodsDescMapper.selectByPrimaryKey(goodsId);
                dataModel.put("goodsDesc", goodsDesc);                        
                Writer out=new FileWriter(pagedir+goodsId+".html");
                template.process(dataModel, out);
                out.close();
                return true;            
            } catch (Exception e) {
                e.printStackTrace();
                return false;
            }
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值