freemarker在项目中的应用

freemarker用处很多,在我们项目中主要用在两个地方:1,邮件模板;2,页面静态化

下面以邮件模板为例:

如果项目基于spring,请在上下文中配置:

 <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
      <property name="templateLoaderPath" value="/WEB-INF/ftl"/> <!--模板路径-->
      <property name="defaultEncoding" value="UTF-8"/>
 </bean>

假设邮件的模板文件名叫做register.ftl,放在"/WEB-INF/ftl"下

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <style type="text/css">
        .mail_bg {
            border-color: #ccc;
            border-style: dotted solid solid;
            border-width: 20px 10px 10px;
            height: auto;
            line-height: 40px;
            padding: 40px;
            width: 800px;
        }
        .mail_bg:hover {
            border-color: #c3c2c2;
        }
        .mail_bg p {
            font-size: 12px;
        }
        .imgCode {
            font-size: 14px;
        }
        .imgCode span {
            color: #f60;
            font-size: 24px;
        }
        .mail_bg h2, .mail_bg a {
            color: #005ea7;
        }
        .back_homepage a {
            font-size: 16px;
            text-decoration: none;
        }
        .mail_bg a:hover {
            color: #f90808;
        }
    </style>
</head>
<body>
<div>
    <h2>亲爱的用户,欢迎加入开源中国!</h2>
    <h4>您于${time} 提交了注册会员的请求。</h4>
    <p class="imgCode">请在验证码输入框中输入:<span>${code}</span>,以完成操作。</p>
    <p>注意:如非本人操作,请忽略本邮件,给您带来的不便请谅解。</p>
    <p><a href="http://my.oschina.net">开源中国</a></p>
</div>
</body>
</html>

freeMarkerConfigurer的调用代码如下:

/**模板参数值*/
Map<String,Object> prams=new HashMap<>();
prams.put("code","296703");       
prams.put("time","2016-04-25 14:13");
/**加载模板*/
Template template = freeMarkerConfigurer.getConfiguration().getTemplate("register.ftl");
/**模板赋值*/
String content = FreeMarkerTemplateUtils.processTemplateIntoString(template, root);

 最终的邮件测试结果如下:

freemarker在项目中的应用_第1张图片

 

你可能感兴趣的:(FreeMarker模板)