zoukankan      html  css  js  c++  java
  • springboot 使用FreeMarker模板(转)

    在spring boot中使用FreeMarker模板非常简单方便,只需要简单几步就行:

    1、引入依赖:

    1. <dependency>  
    2.     <groupId>org.springframework.boot</groupId>  
    3.     <artifactId>spring-boot-starter-freemarker</artifactId>  
    4. </dependency>  

    2、创建模板:
    1. <!DOCTYPE html>  
    2. <html>  
    3. <body>  
    4. <h4>亲爱的${toUserName},你好!</h4>  
    5.   
    6. <p style="color:blue;"> ${message}</p>  
    7.   
    8. 祝:开心!  
    9. </br>  
    10. ${fromUserName}  
    11. </br>  
    12. ${time?date}  
    13.   
    14. </body>  
    15. </html>  
    其中,${time?date}表示time是日期类型的变量,只取date部分。“?date”还可以使用“?datetime”或“?time”。



    3、使用模板,测试用例:

    1. @Autowired  
    2. Configuration configuration; //freeMarker configuration  
    3.   
    4. @Test  
    5. public void sendHtmlMailUsingFreeMarker() throws Exception {  
    6.     Map<String, Object> model = new HashMap<String, Object>();  
    7.     model.put("time"new Date());  
    8.     model.put("message""这是测试的内容。。。");  
    9.     model.put("toUserName""张三");  
    10.     model.put("fromUserName""老许");  
    11.       
    12.     Template t = configuration.getTemplate("welcome.ftl"); // freeMarker template  
    13.     String content = FreeMarkerTemplateUtils.processTemplateIntoString(t, model);  
    14.   
    15.     logger.debug(content);  
    16.     //mailService.sendHtmlMail(to, "主题:html邮件", content);  
    17. }  
  • 相关阅读:
    Backtrace stopped: previous frame identical to this frame (corrupt stack?)
    windows 10 无法启动 windows update 服务 错误 0x80070005 拒绝访问
    error LNK2019: 无法解析的外部符号 __imp_recv,该符号在函数 evthread_notify_drain_default 中被引用
    opencv3.1.0 在控制台程序中报错:winnt.h(6464): error C2872: ACCESS_MASK: 不明确的
    使用OCCI操作Oracle数据库写入中文乱码
    fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "stdafx.h""
    清空资源管理器访问过FTP的账号、密码
    Windows系统查看xxx.dll、xxx.lib文件的导出函数、依赖文件等信息的方法
    ConvertBSTRToString导致的内存泄漏
    mxnet.base.MXNetError: src/imperative/./imperative_utils.h:70: Check failed: inputs[i]->ctx().dev_mask() == ctx.dev_mask() (1 vs. 2)
  • 原文地址:https://www.cnblogs.com/jpfss/p/8309854.html
Copyright © 2011-2022 走看看